webview.clearCache от PreferenceActivity - PullRequest
       28

webview.clearCache от PreferenceActivity

1 голос
/ 09 января 2011

У меня есть файлferences.xml, который используется в моем расширении PreferencesActivity.

У меня есть еще одно предпочтение в xml, которое я хотел бы использовать для очистки кэша веб-просмотра.

У него есть ключ, хотя я не могу понять, как запустить webview.clearCache, нажав на запись в моих настройках ...

В двух словах, я хотел бы запуститьКоманда webview.clearCache () с экрана моих предпочтений, как можно из пункта меню параметров.

ОК, поэтому я думаю, что мне нужно использовать что-то вроде setOnPreferenceClickListener с onPreferenceClick, но как?

Ответы [ 2 ]

0 голосов
/ 15 февраля 2011

Спасибо за ваш ответ :) Это было полезно для меня.

Кроме того: ниже приведен код, когда вы хотите удалить каталог / папку на SD-карте из ваших предпочтений в стиле XML:

    public class Preferences extends PreferenceActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);

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

            @Override
            public boolean onPreferenceClick(Preference preference) {
                File sdcard = Environment.getExternalStorageDirectory();
                String sdcardPath = sdcard.getAbsolutePath();
                File mDbFile = new File(sdcardPath + "/myPath/");
                if(mDbFile.exists()) {
                    deleteDirectory(mDbFile);
                }
                return false;
            }
        });
    }

    private static boolean deleteDirectory(File path) {
        if( path.exists() ) {
          File[] files = path.listFiles();
          for(int i=0; i<files.length; i++) {
             if(files[i].isDirectory()) {
               deleteDirectory(files[i]);
             }
             else {
               files[i].delete();
             }
          }
        }
        return( path.delete() );
      }
}
0 голосов
/ 09 января 2011

Решено добавлением:

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

        @Override
        public boolean onPreferenceClick(Preference preference) {
            MyActivity.mWebView.clearCache(true);
            return false;
        }
    });
...