<?php /*削除ボタンを押すたびにサブ画像だけを削除したい。 流れとして、例えばユーザーが持つ画像をDBから4つ取得してそれは配列に詰めている。 ImageViewも配列に詰めている。 その配列にあるImageViewに、DBから取得した画像をセットしている。 */ class test { public $arr = array( "メイン画像", "サブ画像1", "サブ画像2", "サブ画像3" ); //下記は削除ボタンを押すたびに走るメソッドだと思ってください。 public function targetrecordSubImageDelete() { //降順ソート krsort($this->arr); foreach ($this->arr as $key => $value) { echo "削除対象キー =>".$key."<br>"; echo $value."を削除します。<br>"; //メイン画像は残したい if($key == 0) { echo __FUNCTION__."メソッドではメイン画像は削除できません。"; continue; } else if($key == 1 or $key == 2 or $key == 3) { /* 実際はDBから削除する処理があるが中略。 */ //削除したら、次回削除ボタンを押した時の為に、今回削除したサブ画像だけを配列から削除。 unset($this->arr[$key]); //表示エリアに表示させる画像が逆になるのでソートを戻す。 ksort($this->arr); //ImageViewにセットするメソッドをここあたりで呼び出して再帰的にセットさせる、、、 break; } } } } $test = new test(); echo "削除前の配列<br>"; echo "<pre>"; var_dump($test->arr); echo "</pre>"; echo "*****************************************<br>"; //削除ボタンを1回押しました。 $test->targetrecordSubImageDelete(); echo "<br>削除ボタンを1回押した後の配列の中身。<br>"; echo "<pre>"; var_dump($test->arr); echo "</pre>"; echo "*****************************************<br>"; //削除ボタンを2回押しました。 $test->targetrecordSubImageDelete(); echo "<br>削除ボタンを2回押した後の配列の中身。<br>"; echo "<pre>"; var_dump($test->arr); echo "</pre>"; echo "*****************************************<br>"; //削除ボタンを3回押しました。 $test->targetrecordSubImageDelete(); echo "<br>削除ボタンを3回押した後の配列の中身。<br>"; echo "<pre>"; var_dump($test->arr); echo "</pre>"; echo "*****************************************<br>"; //削除ボタンを4回押しました。 $test->targetrecordSubImageDelete(); echo "<br>削除ボタンを4回押した後の配列の中身。<br>"; echo "<pre>"; var_dump($test->arr); echo "</pre>"; ?>
これと同じことをJAVAでやりたいんですが、配列を削除するメソッドみたいなものをJAVAにはあるのでしょうか?
画像に対応するボタンがそれぞれあれば楽なのですが、
サブ画像削除1
サブ画像削除2
サブ画像削除3
みたいな、、、
そうじゃなくてボタンは1つにしてほしいとのことなので、上記のようなソースで対応するしかないのでちょっと困ってますが何か良いアイディアがありましたら教えていただけると助かります。
回答3件
あなたの回答
tips
プレビュー