ListView とストレージ内のフォルダから同時にファイルを削除するアプリを作成しようとしています。Androidリストビューからのファイルとストレージ内のフォルダからのファイルの削除
このアプリケーションを実行すると、ListViewはフォルダ内のファイルを表示します。 ListViewのファイルを長時間クリックすると、トーストメッセージ が表示されますが、ダイアログが表示されません。ファイルは、 ListViewまたはフォルダから削除されません。
私はこの問題を解決するためにコードの助けを感謝します。
ありがとうございます。
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.
ありがとうShadab Ansari。私はalert.create()を追加しました。およびalert.show();すぐ上のfalseを返します。 これで、ダイアログが表示されます。 OKボタンを長押しすると、ファイルはリストビューから削除されますが、フォルダからは削除されません。 私は再びアプリケーションを実行し、ファイルはまだリストビューに表示されます。 なぜそれが機能していないか考えてみましょうか? – user2308699
あなたはフォルダからファイルを削除するためのコードを書いていません。どのようにそれが削除されることを期待していますか? –
私のポストでは、両方のタスクを同時に解決するコードを参考にしていただければ幸いです。 – user2308699