Ich habe folgenden Code in allen Activity-Dateien. Ich werde das gleiche Menü für alle Aktivitäten verwenden. Hier ist der Code.Menü verschwand nach dem Erweitern der Aktivität mit BaseActivity
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
Statt diesen Code in alle Aktivitäten der Duplizierung, habe ich eine BaseActivity mit Code folgen.
public class BaseActivity extends Activity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Nun sind alle Aktivitäten erweitern BaseActivity wie unten.
public class AddItemActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_item);
}
}
Problem
Menü wird aufgrund obigen Code verschwunden. Mache ich etwas falsch?
können Sie sagen, wo mache ich falsch? – Pankaj
Es scheint nichts falsch zu sein, aber in meinem Code habe ich AppCompatActivity anstelle von Activity verwendet, ich denke, es ist nicht wichtiger, aber ich bin etwas anders.Sie geben mir nur ein Stück Code-Schnipsel, also mache ich nicht was falsches im Projekt, könnte ich nichts falsch hier (diesen Code, den Sie zur Verfügung stellen), aber von irgendwo passiert. – Brian