前回までは動的にViewを追加してきましたが、追加したViewを削除する処理も同様に必要です。
今回は、動的に追加するViewの中に”削除”ボタンを追加し、クリックするとViewが削除されるようにしてみましょう。
Viewの削除には、removeViewメソッドを使います。
public void removeClick(View view) {
View removedView = (View) view.getParent(); // "削除"ボタンの親ビューを取得
rootView.removeView(removedView);
}
ここで定義したremoveClickメソッドをどこでコールするかというと、削除ボタンを定義するレイアウトXMLの中で設定します。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="title"
android:textSize="32dp" />
<EditText
android:id="@+id/et_Sub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="32dp"/>
<Button
android:id="@+id/bRemove"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="削除"
android:onClick="removeClick"/>
</LinearLayout>
このように、Buttonタグの属性”onClick”にメソッド名を記述しておくことで、特に他の処理を入れなくとも、そのメソッドが呼ばれるようになります。
では処理結果を見てみます。行追加の後、任意の削除ボタンを押すと、

ボタンが押された行が削除されます。

