Это мой код: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);
Это исключение присутствует только некоторые Moble как Galaxy Note. Вы знаете, почему существует это исключение?
У меня есть «inflater.inflate (R.menu.menu, menu);» – shuttle1978
все еще ур, получая ошибку @shuttle – MohsinSyd
на моем мобильном устройстве прекрасно работает, проблема в том, что это только некоторые мобильные устройства, например заметка Galaxy, она отлично работает и в эмуляторе, я не знаю, почему эта инициализация падает на некоторых мобильных устройствах, и я не знаю, знать, как копировать это исключение – shuttle1978