2013-05-02 36 views
-1

我的代碼只是使用按鈕單擊刪除第一個文件,但我想要刪除和取消隱藏所有圖像使用for循環如果此語句爲真如果(CheckArr [i] == true)但我的代碼只是執行只有第一個索引文件ot所有檢查文件是刪除只有第一個是刪除我該怎麼辦?我如何刪除和複製所有選中的項目?我如何定製我的循環?我如何執行循環的所有迭代的方法

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() + "'"); 



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(); 
} 
} 
+0

我的代碼只是刪除檢查項目的第一個值不是所有值 – 2013-05-02 22:19:42

+0

請嘗試改進您的問題..不清楚您在此處詢問的內容。 – deepdroid 2013-05-02 22:28:48

+0

我想說我的代碼只是複製和刪除當前[我]價值不是所有的檢查值我想刪除所有文件檢查是真的 – 2013-05-02 22:33:53

回答

0

我會不同地做我的循環。我只打開一次數據庫,然後檢查中間步驟是否正常。

這是什麼更多的,我建議:

unhide.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View arg0) { 

      try { 
       db.createDataBase(); 
       for (int i = 0; i < CheckArr.length; i++) { 
        if (CheckArr[i] == true) { 
         db = new DataBase(getBaseContext()); 
         Cursor dataC = db.selectQuery("SELECT path FROM Photos where name ='"+ 
           currentFiles[i].getName() + "'"); 
         Bitmap bitmap = decodeFile.decodeFile(new File(root + "/"+ currentFiles[i].getName())); 
         if (dataC.moveToFirst() && bitmap != null) { 
          FileOutputStream outputStream = new FileOutputStream(new 
            File(dataC.getString(dataC.getColumnIndex("path")))); 

          outputStream.write(decodeFile.getBitmapAsByteArray(bitmap)); 
          outputStream.close(); 

          File file = new File(root + "/" + currentFiles[i].getName()); 
          file.delete(); 
         } else { 
          if (bitmap == null) { 
           Log.v("YOUR TAG", "bitmap not found"); 
          } else {} 
          Log.v("YOUR TAG", "unable to convert file"); 
         } 
         dataC.close(); 
        } 
       } 
       db.close(); 

       inflateListView(currentFiles); 
      } catch (Exception e1) { 
       e1.printStackTrace(); 
      } 
     } 
    } 

我不知道你正在做的一些事情是什麼,但是這就是我想要的方向去

相關問題