It is throwing an error:
Caused by: java.lang.IllegalArgumentException: You must call this method on the main thread
Code:
Class CacheClearAsyncTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
Glide.get(getActivity()).clearDiskCache();
Glide.get(getActivity()).clearMemory();
return null;
}
@Override
protected void onPostExecute (Void result)
{
//Toast.makeText(getActivity(), "Cache cleared", Toast.LENGTH_LONG).show();
}
}
Setting preference on click event:
clearCacheBtnPref=findPreference(getResources().getString(R.string.pref_btn_clear_cache_key));
clearCacheBtnPref.setOnPreferenceClickListener(new
Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
new CacheClearAsyncTask().execute();
return true;
}
});
This can not be called in main thread as it is also throws errors and also it does not let me use asynctask.
Glide.get(getActivity()).clearDiskCache();
Glide.get(getActivity()).clearMemory();