Я знаю, что это не новый вопрос, который я задал, но я пробовал все решения. Non из них работал для меня: Я использую ActionBarActivity
. Я называю несколько фрагментов через основную деятельность.Действия Android onCreateOptionsMenu не работают во фрагментах
код MainActivity Меню
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
return super.onOptionsItemSelected(item);
}
Я создал новый класс меню и помещен значок. В фрагменте oncreate
i размещен setHasOptionsMenu(true)
;
Также размещен menu.clear();
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
menu.clear();
inflater.inflate(R.menu.menu_manage_products, menu);
}
Для выполнения действия я использовал следующий код:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Log.d("onOptionsItemSelected","yes");
switch (item.getItemId()) {
case R.id.exit:
System.exit(1);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
меню/menu_manage_products.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context="b2go.moshop.devblaze.moshop.view.Products.Products_Home">
<item android:id="@+id/action"
android:icon="@drawable/exit"
android:title="@string/exit"
android:orderInCategory="100"
app:showAsAction="always"/>
также разместил сообщение в журнал, но журнал не показывал. Я не знаю, почему onOptionItemSelected
не выполняет действия в фрагментах.
Любая помощь будет оценена по достоинству.
Вызов setHasOptionsMenu (истина) на фрагменте каждый раз, когда вы делаете F . –
Я тоже пробовал, но не работает –
Вы делаете операции с фрагментами или используете ViewPager? В любом случае вызовите его в Activity на ссылку текущего фрагмента, когда он изменится. –