リストの中のボタンタップ時にリストの要素を削除したいです。
下記のようなコードを書いてみたのですがリストが最後の一行になるまでは消えていってくれます。最後の一行のとき配列の要素の削除。まではできていることを確認できたのですがリストに表示が残ったままになってしまっています。
その状態でリストをタップするとIndexOutOfBoundsExceptionで強制終了してしまいます。
どのように修正すればよいでしょうか?
よろしくお願いします
public class Activity extends AppCompatActivity { String[] strings = {"a","b","c","d"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity); } public void listView(){ ListView listView = findViewById(R.id.lv); ArrayList<ListItem> listItems = new ArrayList<>(); MyAdapteradapter = new MyAdapteradapter (this,0,listItems){ @Override public View getView(final int pos, View convertView, ViewGroup parent) { LinearLayout linearLayout = (LinearLayout)super.getView(pos, convertView, parent); Button button= linearLayout.findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //押された配列の要素を削除。(省略) listItems.remove(pos); listView(); } }); return linearLayout; } }; for (int c = 0; c < strings.length;c++){ ListItem listItem = new ListItem(); listItem.setText(strings[c]); listView.setAdapter(adapter); listItems.add(listItem); } } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/19 13:34
退会済みユーザー
2018/08/19 13:48
2018/08/20 07:06
退会済みユーザー
2018/08/20 09:08
2018/08/21 08:14