これは、最初にチェックされたファイルのみを削除する私のコードです。
チェックしたファイルをすべて削除したいのですが、どのような変更を行う必要がありますか?
CheckArr[i] のすべての値を収集するにはどうすればよいですか?
このコードは、グリッドで最初にチェックされたファイルのみを削除します。最初に true であるチェック済みの値をすべて収集してから、データベース呼び出しを行います。
boolean CheckArr[];
File[] currentFiles;
unhide.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
for (int i = 0; i < CheckArr.length; i++) {
if (CheckArr[i] == true) {
db = new DataBase(getBaseContext());
try {
db.createDataBase();
} catch (IOException e1) {
e1.printStackTrace();
}
Cursor DataC = db
.selectQuery("SELECT path FROM Photos where name ='" +
currentFiles[i].getName() + "'");
if (DataC.getCount() > 0) {
Bitmap bitmap =
decodeFile.decodeFile(new File(root + "/" + currentFiles[i].getName()));
try {
FileOutputStream
outputStream = new FileOutputStream(
new File(DataC.getString(DataC
.getColumnIndex("path"))));
outputStream.write(decodeFile.getBitmapAsByteArray(bitmap));
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
File file = new File(root + "/" +
currentFiles[i].getName());
file.delete();
inflateListView(currentFiles);
}
DataC.close();
db.close();
}
}