Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正在从arraylist中删除项_Java_Android_Listview_Arraylist_Android Alertdialog - Fatal编程技术网

Java 正在从arraylist中删除项

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

我正在尝试创建一个AlertDialog,该对话框为您提供删除在Listview中单击的项目的选项。我得到了带有两个选项的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);
        }
    });
}` 
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),并且它工作正常。所以我认为这不是问题所在