Desidero impostare la barra degli strumenti sulla mia attività che estende FragmentActivity. So che per utilizzare il metodo setSuppoertActionBar(toolbar)
estendiamo AppCompatActivity
anziché FragmentActivity
ma sostituisco il metodo onMenuItemSelected(int featureId, MenuItem item)
che è definitivo in AppCompatActivity
e che il metodo finale non può sovrascrivere. quindi sono limitato all'estensione FragmentActivity
.come impostare la barra degli strumenti su FragmentActivity?
Ecco il mio codice:
public class MainActivity extends FragmentActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
setSupportActionBar(toolbar); -> error is here
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
switch(item.getItemId()){
case R.id.action_search:
onSearchRequested();
break;
}
return super.onMenuItemSelected(featureId, item);
}
ho visto molte risposte legate a questa domanda, ma tutti dicono estende AppCompatActivity
invece di FragmentActivity
ma voglio impostare barra degli strumenti, nonché di override onMenuItemSelected(int featureId, MenuItem item)
metodo.
cosa devo fare, per favore aiutatemi.
Hai già provato 'onOptionsItemSelected'? – Shvet
sì, ho capito, ho trovato la mia soluzione con il tuo suggerimento. Estendo AppCompatActivity anziché FragmentActivity e modificato il metodo onMenuItemSelected() con il metodo onOptionsItemSelected(). Grazie :) –