Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.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 使用警报对话框从列表视图中删除项目_Java_Android_Listview - Fatal编程技术网

Java 使用警报对话框从列表视图中删除项目

Java 使用警报对话框从列表视图中删除项目,java,android,listview,Java,Android,Listview,我有一个包含项目的ListView,我想创建一个警报对话框,当我长时间单击某个项目时,该对话框会删除这些项目onlong单击某个项目会显示一个AlertDialog,如果我单击yes,它会删除该项目 这是我的密码 listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<

我有一个包含项目的
ListView
,我想创建一个警报对话框,当我长时间单击某个项目时,该对话框会删除这些项目
onlong单击某个项目会显示一个
AlertDialog
,如果我单击yes,它会删除该项目

这是我的密码

listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
    @Override
    public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
        new AlertDialog.Builder(MainActivity.this)
                .setIcon(android.R.drawable.ic_dialog_alert)
                .setMessage("Are You Sure You Want to Delete This Note?!")
                .setTitle("Attempt to Delete A Note")
                .setPositiveButton("YES", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                      try {
                          notesList.remove(i);
                          arrayAdapter.notifyDataSetChanged();

                          Toast.makeText(MainActivity.this, "ooooooh No!!", Toast.LENGTH_SHORT).show();
                      } catch (Exception e) {
                          e.printStackTrace();
                      }
                    }
                })
                .setNegativeButton("NO", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Toast.makeText(MainActivity.this, "Good Choice", Toast.LENGTH_SHORT).show();
                    }
                })
                .show();
        return true;
    }
}); 
listView.setOnItemLongClickListener(新的AdapterView.OnItemLongClickListener(){
@凌驾
公共布尔值长单击(AdapterView AdapterView,视图视图,int i,long l){
新建AlertDialog.Builder(MainActivity.this)
.setIcon(android.R.drawable.ic_对话框_警报)
.setMessage(“您确定要删除此便笺吗?!”)
.setTitle(“尝试删除注释”)
.setPositiveButton(“是”,新的DialogInterface.OnClickListener(){
@凌驾
公共void onClick(DialogInterface,inti){
试一试{
注释列表。删除(i);
arrayAdapter.notifyDataSetChanged();
Toast.makeText(MainActivity.this,“oooooh No!!”,Toast.LENGTH\u SHORT.show();
}捕获(例外e){
e、 printStackTrace();
}
}
})
.setNegativeButton(“否”,新的DialogInterface.OnClickListener(){
@凌驾
公共void onClick(DialogInterface,inti){
Toast.makeText(MainActivity.this,“好的选择”,Toast.LENGTH_SHORT.show();
}
})
.show();
返回true;
}
}); 

我认为问题在于警报对话框click listner的“I”位置,您需要用户列出单击的项目位置,以便从列表中删除项目

请使用以下代码:

listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
        @Override
        public boolean onItemLongClick(AdapterView<?> adapterView, View view, int position, long l) {
            new AlertDialog.Builder(MainActivity.this)

                    .setIcon(android.R.drawable.ic_dialog_alert)
                    .setMessage("Are You Sure You Want to Delete This Note?!")
                    .setTitle("Attempt to Delete A Note")
                    .setPositiveButton("YES", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                          try {
                              if(notesList!=null){
                              notesList.remove(position);
                              arrayAdapter.notifyDataSetChanged();

                            Toast.makeText(MainActivity.this, "ooooooh No!!", Toast.LENGTH_SHORT).show();
                           }
                          }catch (Exception e){
                              e.printStackTrace();
                          }
                        }
                    })
                    .setNegativeButton("NO", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            Toast.makeText(MainActivity.this, "Good Choice", Toast.LENGTH_SHORT).show();
                        }
                    })
                    .show();
            return true;
        }
    }); 
listView.setOnItemLongClickListener(新的AdapterView.OnItemLongClickListener(){
@凌驾
公共布尔值长单击(AdapterView AdapterView、视图视图、整型位置、长l){
新建AlertDialog.Builder(MainActivity.this)
.setIcon(android.R.drawable.ic_对话框_警报)
.setMessage(“您确定要删除此便笺吗?!”)
.setTitle(“尝试删除注释”)
.setPositiveButton(“是”,新的DialogInterface.OnClickListener(){
@凌驾
公共void onClick(DialogInterface,inti){
试一试{
if(notesList!=null){
注释列表。移除(位置);
arrayAdapter.notifyDataSetChanged();
Toast.makeText(MainActivity.this,“oooooh No!!”,Toast.LENGTH\u SHORT.show();
}
}捕获(例外e){
e、 printStackTrace();
}
}
})
.setNegativeButton(“否”,新的DialogInterface.OnClickListener(){
@凌驾
公共void onClick(DialogInterface,inti){
Toast.makeText(MainActivity.this,“好的选择”,Toast.LENGTH_SHORT.show();
}
})
.show();
返回true;
}
}); 

我认为问题在于警报对话框click listner的“I”位置,您需要用户列出单击的项目位置,以便从列表中删除项目

请使用以下代码:

listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
        @Override
        public boolean onItemLongClick(AdapterView<?> adapterView, View view, int position, long l) {
            new AlertDialog.Builder(MainActivity.this)

                    .setIcon(android.R.drawable.ic_dialog_alert)
                    .setMessage("Are You Sure You Want to Delete This Note?!")
                    .setTitle("Attempt to Delete A Note")
                    .setPositiveButton("YES", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                          try {
                              if(notesList!=null){
                              notesList.remove(position);
                              arrayAdapter.notifyDataSetChanged();

                            Toast.makeText(MainActivity.this, "ooooooh No!!", Toast.LENGTH_SHORT).show();
                           }
                          }catch (Exception e){
                              e.printStackTrace();
                          }
                        }
                    })
                    .setNegativeButton("NO", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            Toast.makeText(MainActivity.this, "Good Choice", Toast.LENGTH_SHORT).show();
                        }
                    })
                    .show();
            return true;
        }
    }); 
listView.setOnItemLongClickListener(新的AdapterView.OnItemLongClickListener(){
@凌驾
公共布尔值长单击(AdapterView AdapterView、视图视图、整型位置、长l){
新建AlertDialog.Builder(MainActivity.this)
.setIcon(android.R.drawable.ic_对话框_警报)
.setMessage(“您确定要删除此便笺吗?!”)
.setTitle(“尝试删除注释”)
.setPositiveButton(“是”,新的DialogInterface.OnClickListener(){
@凌驾
公共void onClick(DialogInterface,inti){
试一试{
if(notesList!=null){
注释列表。移除(位置);
arrayAdapter.notifyDataSetChanged();
Toast.makeText(MainActivity.this,“oooooh No!!”,Toast.LENGTH\u SHORT.show();
}
}捕获(例外e){
e、 printStackTrace();
}
}
})
.setNegativeButton(“否”,新的DialogInterface.OnClickListener(){
@凌驾
公共void onClick(DialogInterface,inti){
Toast.makeText(MainActivity.this,“好的选择”,Toast.LENGTH_SHORT.show();
}
})
.show();
返回true;
}
}); 
listView.setAdapter(适配器);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、最终整型位置、长id){
新建AlertDialog.Builder(MainActivity.this)
.setIcon(android.R.drawable.ic_对话框_警报)
.setMessage(“您确定要删除此便笺吗?!”)
.setTitle(“尝试删除注释”)
.setPositiveButton(“是”,新的DialogInterface.OnClickListener(){
@凌驾