Java 正在从arraylist中删除项
我正在尝试创建一个AlertDialog,该对话框为您提供删除在Listview中单击的项目的选项。我得到了带有两个选项的AlertDialog,但当我单击它们时,AlertDialog将关闭,并且什么也没有发生。 代码如下,谢谢您。Java 正在从arraylist中删除项,java,android,listview,arraylist,android-alertdialog,Java,Android,Listview,Arraylist,Android Alertdialog,我正在尝试创建一个AlertDialog,该对话框为您提供删除在Listview中单击的项目的选项。我得到了带有两个选项的AlertDialog,但当我单击它们时,AlertDialog将关闭,并且什么也没有发生。 代码如下,谢谢您。 另外,当我按下肯定按钮(应该会删除该项目)并再次按下该项目时,应用程序崩溃 private void registerClickCallBack() { ListNote = (ListView) findViewById(R.id.lv1); L
另外,当我按下肯定按钮(应该会删除该项目)并再次按下该项目时,应用程序崩溃
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);
}
});
}`
private void registerClickCallBack(){
ListNote=(ListView)findViewById(R.id.lv1);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView paret、View viewClicked、final int position、long id){
AlertDialog.Builder=新建AlertDialog.Builder(MainActivity.this);
setMessage(“Notitie verwijderen?”)
.setCancelable(错误)
.setPositiveButton(“Ja”,新的DialogInterface.OnClickListener(){
public void onClick(DialogInterface对话框,int-id){
lv.移除(位置);
}
})
.setNegativeButton(“Nee”,新的DialogInterface.OnClickListener(){
public void onClick(DialogInterface对话框,int-id){
dialog.cancel();
}
});
AlertDialog alert=builder.create();
alert.show();
ArrayAdapter=新的ArrayAdapter(MainActivity.this,android.R.layout.simple\u list\u item\u 1,lv);
setAdapter(适配器);
}
});
}`
我确信您正在查找arrayList.RemoveAt(索引)
您正在尝试arrayList.Remove(对象)
您试图删除的对象是名为“position”的int,它不存在于arrayList(lv)中,因此不会引发异常
删除特定索引处的对象与删除特定对象之间存在差异。取决于您传递的引用
编辑:试图澄清我已经弄明白了。我忘了在onclick方法中编辑listview。因此arraylist为空,但该值仍在listview中。我移动了arrayadapter,现在可以正常工作了 你试过调试你的程序吗?到达这条线了吗<代码>低压移除(位置)在
lv.remove(position)
中什么是lv
?@Zakir lv是列表的名称。我没有想到要添加我制作阵列的部分,你确定要删除吗?看到了吗,RemoveAt
你在安卓系统中使用的是C#吗?我有一个没有alertdialog的工作代码。在这段代码中,我也使用了lv.remove(position),并且它工作正常。所以我认为这不是问题所在