Il jette l'erreurAsyncTask avec Glide pour la compensation Cache
Causée par: java.lang.IllegalArgumentException: Vous devez appeler cette méthode sur le thread principal
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();
}
}
Définition de la priorité sur l'événement click
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;
}
});
Cela ne peut pas être appelé dans le thread principal car il est aussi jette des erreurs et aussi il ne me laisse pas utiliser asynctask.
Glide.get(getActivity()).clearDiskCache();
Glide.get(getActivity()).clearMemory();
double possible de [assert Glide: java.lang.IllegalArgumentException: Vous devez appeler cette méthode sur le thread principal] (http://stackoverflow.com/questions/35658806/glide-assert-java-lang- illegalargumentexception-you-must-call-this-method-on-t) –
alors quel est votre problème? – lelloman
@lelloman je veux effacer tous les fichiers de cache sur le bouton cliquez sur – varuog