我正在尝试创建一个AlertDialog,让您可以选择删除在Listview中单击的项目。我得到了带有2个选项的AlertDialog,但是当我点击它们时,AlertDialog就会关闭,没有任何事情发生。 以下代码,谢谢你 此外,当我按下正面按钮(应该删除该项目)并再次按下该项目时,应用程序崩溃。
private void registerClickCallBack() {
ListNote = (ListView) findViewById(R.id.lv1);
ListNote.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> paret, View viewClicked, final int position, long id) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setMessage("Notitie verwijderen?")
.setCancelable(false)
.setPositiveButton("Ja", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
lv.remove(position);
}
})
.setNegativeButton("Nee", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
ArrayAdapter<String> adapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, lv);
ListNote.setAdapter(adapter);
}
});
}`
答案 0 :(得分:0)
我已经明白了。我忘了在onclick方法中编辑listview。所以arraylist是空的,但价值仍然在listview中。我移动了arrayadapter,现在工作正常。
答案 1 :(得分:-1)
我相信你正在寻找arrayList.RemoveAt(index)
您正在尝试使用arrayList.Remove(Object)
您尝试删除的对象是一个名为“position”的int,它在您的arrayList(lv)中不存在,因此不会抛出异常。
删除对象在特定索引和删除特定对象之间存在差异。取决于你传递的参考文献。
编辑:尝试澄清