2013-07-17 48 views
0

我會一旦你已經清除緩存將被髮送到MainActivity。代碼是這樣的,我該怎麼辦?重定向到MainActivity?

Preference cache; 
cache = this.findPreference("cache"); 
cache.setOnPreferenceClickListener(new OnPreferenceClickListener() { 

    @Override 
    public boolean onPreferenceClick(final Preference preference) { 
     clearCache(Class.this); 
     return true; 
    } 
}); 
} 

public void clearCache(final Context context) { 
final File cache = context.getCacheDir(); 
final File appDir = new File(cache.getParent()); 
if (appDir.exists()) { 
    final String[] children = appDir.list(); 
    for (final String childFilePath : children) 
     if (!childFilePath.equals("lib")) { 
      deleteDir(new File(appDir, childFilePath)); 
      Log.i("TAG", "**************** File /data/data/com.X.XX/" + childFilePath 
        + " DELETED *******************"); 
      Toast.makeText(getBaseContext(), "CLEAN", Toast.LENGTH_LONG).show(); 

         } 


     } 
} 


public boolean deleteDir(final File dir) { 
if (dir == null) 
    return true; 
if (dir.isDirectory()) { 
    final String[] children = dir.list(); 
    for (final String childFilePath : children) { 
     final boolean success = deleteDir(new File(dir, childFilePath)); 
     if (!success) 
      return false; 
    } 
} 
return dir.delete(); 

讓我解釋一下,一旦刪除緩存和數據成功執行後,您必須發送到MainActivity。謝謝!!!

回答

0

呼叫finish(),活動將關閉,你將回到你以前的一個

0
if (appDir.exists()) { 
final String[] children = appDir.list(); 
for (final String childFilePath : children) 
    if (!childFilePath.equals("lib")) { 
     deleteDir(new File(appDir, childFilePath)); 
     Log.i("TAG", "**************** File /data/data/com.X.XX/" + childFilePath 
       + " DELETED *******************"); 
     Toast.makeText(getBaseContext(), "CLEAN", Toast.LENGTH_LONG).show(); 

        } 


    } 
startActivity(new Intent(context,MainActivity.class)); 

} 

我希望這會有所幫助!