Je n'utilise pas ce drapeau MODE_WORLD_READABLE
dans mon application mais quand même, je reçois cette exception? Y at-il une autre raison pour cela exception
, ou est-ce que je fais quelque chose de mal?java.lang.SecurityException: MODE_WORLD_READABLE
Ceci est ma logique pour la commutation entre listview
-gridview
, je mis un drapeau int
pour eux et sauver/retrive-les dans/de préférences partagées:
private int currentViewMode = 0 ;
static final int VIEW_MODE_LISTVIEW = 0;
static final int VIEW_MODE_GRIDVIEW = 1;
boolean isGridView;
En onCreate:
currentViewMode = sharedPreferences.getInt("currentViewMode",VIEW_MODE_LISTVIEW);
Et ma méthode swichView:
private void switchView() {
SharedPreferences sharedPreferences =
activity.getSharedPreferences("localGridCount",currentViewMode);
SharedPreferences.Editor editor = sharedPreferences.edit();
if (VIEW_MODE_LISTVIEW == currentViewMode){
// ListView
RecyclerView.LayoutManager mLayoutManager = new
GridLayoutManager(activity, 1, GridLayoutManager.VERTICAL, false);
gridCount = 1;
editor.putInt("localGridValue", gridCount);
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setAdapter(adapter);
}else{
// GridView
RecyclerView.LayoutManager mLayoutManager = new
GridLayoutManager(activity, 2, GridLayoutManager.VERTICAL, false);
gridCount = 2;
editor.putInt("localGridValue", gridCount);
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setAdapter(adapter);
}
editor.apply();
}
, ce qui est la pleine exception que je reçois (Juste Nougat): Long_Exception_Link
Essayez d'utiliser getDefaultSharedPreferences (activité) au lieu de activity.getSharedPreferences ("localGridCount", currentViewMode); –
@Majid Avez-vous utilisé VIEW_MODE_GRIDVIEW n'importe où dans votre code? – Raghavendra
@Raghavendra oui, pour gérer le commutateur J'ai deux éléments de menu sur ma barre d'action, l'utilisation de 'VIEW_MODE_GRIDVIEW' est dans' onOptionsItemSelected' – Majid