В моем приложении у меня есть Listview, где включен multichoicemodelistener. Я хочу удалить внутренние файлы хранилища (файлы, показанные в моем списке), используя multichoicemodelistener. Но не повезло.android multichoicemodelistener удалить файл внутренней памяти
Вот мой код
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
case R.id.list_context_delte:
SparseBooleanArray sparseBooleanArray = getListView().getCheckedItemPositions();
for(int i = sparseBooleanArray.size() -1; i >= 0; i--)
context.deleteFile(sparseBooleanArray.keyAt(i));
mAdapter.notifyDataSetChanged();
mode.finish();
Toast.makeText(ShowListActivity.this, R.string.deleted, Toast.LENGTH_SHORT).show();
mode.finish();
}
return false;
}
я получил ошибку, которая говорит: Метод DeleteFile (String) в контексте типа не применяется для аргументов (межд)
Любые идеи?
UPDATE Я отредактировал мой код, так что знаю, это выглядит как
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
case R.id.list_context_delte:
nr = 0;
SparseBooleanArray sparseBooleanArray = getListView().getCheckedItemPositions();
for(int i = sparseBooleanArray.size() -1; i >= 0; i--)
if (sparseBooleanArray.get(i)) {
String items = getListView().getAdapter().getItem(sparseBooleanArray.keyAt(i)).toString();
File dir = getFilesDir();
File file = new File(dir, (items));
file.delete();
RowItem selecteditem = mAdapter.getItem(sparseBooleanArray.keyAt(i));
mAdapter.remove(selecteditem);
mAdapter.notifyDataSetChanged();
Toast.makeText(ShowListActivity.this,items+ R.string.deleted, Toast.LENGTH_SHORT).show();
}
mode.finish();
}
return false;
}
После нажатия кнопки удаления, файл (ы) ушел. Но когда я выхожу из работы и возвращаюсь к активности, все удаленные файлы возвращаются. Правильно ли удалены файлы из внутреннего хранилища? Есть ли у кого-то предложения?
расследовали вы, что .getCheckedItemPositions() поставляет? И .keyAt (i)? Пожалуйста, сделай. – greenapps
Я также пытался удалить файлы с context.DeleteFile (items). но снова не повезло – Thor1401