Créer une classe (par exemple BaseActivity) qui étend l'activité, et passer outre onCreateOptionsMenu
et onOptionsItemSelected
fonctions.
public class BaseActivity extends Activity {
// Activity code here
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.item:
// do what you want here
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
Maintenant, dans les autres activités 15-16, au lieu d'étendre une activité, vous devez étendre BaseActivity.
public class FooActivity extends BaseActivity {
// Activity code here
}
De cette façon, toutes vos activités dérivent du menu des options. Pour les activités pour lesquelles vous souhaitez désactiver le menu des options, vous pouvez le redéfinir dans cette activité particulière.
public class BarActivity extends BaseActivity {
// Activity code here
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Do Nothing
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Do Nothing
}
}
Heureusement, cela ne vous pose aucun problème dans le fichier manifeste.
Même je pensais à cela, mais j'ai déjà un customactivity pour régler la barre de titre dans toutes les activités. J'essaierai de l'implémenter dans ce domaine. – sunil
oui, s'il vous plaît faire, cela devrait fonctionner. Indiquez également vos résultats. :) – st0le
Est-ce que ça marche finalement? Personne n'a signalé les résultats: c –