Android NullPointerException в onCreateOptionsMenu
Это мой код:
public class className extends Activity{
private MenuActivity menuActivity;
@Override
public void onCreate(Bundle savedInstanceState) {
try {
ViewConfiguration config = ViewConfiguration.get(this);
Field menuKeyField = ViewConfiguration.class
.getDeclaredField("sHasPermanentMenuKey");
if (menuKeyField != null) {
menuKeyField.setAccessible(true);
menuKeyField.setBoolean(config, false);
}
} catch (Exception e) {
e.printStackTrace();
}
menuActivity = new MenuActivity(this, context, R.menu.menu);
);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menuActivity.onCreateOptionsMenu(menu); // <--
return super.onCreateOptionsMenu(menu);
}
}
public class MenuActivity {
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = mRootActivity.getMenuInflater();
inflater.inflate(typeMenu, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
}
// ...
}
Я получаю NullPointerException
в строке:
menuActivity.onCreateOptionsMenu(menu);
В этом исключении присутствует только какой-то мобиль как Galaxy Note. Знаете ли вы, почему существует это исключение?
2 ответа
// раздувать меню; это добавляет элементы в панель действий, если она присутствует. getMenuInflater (). inflate (R.menu.main, menu);
Изменить код с
public boolean onCreateOptionsMenu(Menu menu) {
menuActivity.onCreateOptionsMenu(menu); // <--
return super.onCreateOptionsMenu(menu);
}
к
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu); // <--
return true;
}
Это работа по моей программе.