Android从ListView和存储中的文件夹中删除文件
我正在尝试构建一个应用程序,该应用程序将从ListView中删除一个文件 并同时从存储中的文件夹中删除 当我运行此应用程序时,列表视图会显示文件夹中的文件。 长时间单击ListView中的文件将显示Toast消息 但对话框无法显示。该文件未从中删除 ListView或文件夹 我希望代码能帮助解决这个问题 多谢各位 这是我的密码:Android从ListView和存储中的文件夹中删除文件,android,listview,android-alertdialog,Android,Listview,Android Alertdialog,我正在尝试构建一个应用程序,该应用程序将从ListView中删除一个文件 并同时从存储中的文件夹中删除 当我运行此应用程序时,列表视图会显示文件夹中的文件。 长时间单击ListView中的文件将显示Toast消息 但对话框无法显示。该文件未从中删除 ListView或文件夹 我希望代码能帮助解决这个问题 多谢各位 这是我的密码: ListView lv = getListView(); lv.setLongClickable(true); lv.setOnItemLon
ListView lv = getListView();
lv.setLongClickable(true);
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(final AdapterView<?> arg0, View arg1, final int position, long arg3) {
AlertDialog.Builder alert = new AlertDialog.Builder(FileRemoveActivity.this);
// this Title Fails to display
alert.setTitle("Delete File");
// this Message Fails to display
alert.setMessage("Are you sure you want to delete this file?");
// this Toast 'position' value Does display
Toast.makeText(getApplicationContext(), " " + position, Toast.LENGTH_LONG).show();
alert.setCancelable(false);
// the Yes button Fails to display
alert.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// compiler warning this code is an Unchecked Cast
ArrayAdapter<String> adapter = (ArrayAdapter<String>) arg0.getAdapter();
// the file at 'position' is Not removed
adapter.remove(adapter.getItem(position));
adapter.notifyDataSetChanged();
}
});
// the Cancel button Fails to display
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
return false;
}
}); // KJP NOTE: Test 07-May-2016 End Test.
添加alert.create;警惕。显示;在方法末尾返回false;之前;。
您的对话框将可见,然后您可以点击“是”删除该项目。我看不到您调用alert.show来实际显示该对话框。你建造它,但不展示它。这里有一个例子说明了这一点。谢谢Shadab Ansari。我添加了alert.create;和alert.show;紧接着上面的返回为假;现在,应用程序将显示该对话框。长时间单击“确定”按钮将从listview中删除该文件,但不会从文件夹中删除。我再次运行应用程序,文件仍显示在listview中。知道它为什么不工作吗?您还没有编写任何代码从文件夹中删除该文件。你希望它怎么被删除呢?根据我的帖子,我希望代码能帮助我同时解决这两个任务;布尔删除=file.delete;其中selectedFilePath是您要删除的文件的路径。谢谢。该代码成功地从文件夹中删除了该文件。除此之外,在长时间单击时,对话框将按其应有的方式显示,但当我释放长时间单击时,它会传播并导致一个单击事件,在长时间单击对话框的顶部显示一个对话框。如何防止这种传播?