在充气菜单时,在android中使用ABS nullpointerexception导航标签

时间:2013-01-31 07:26:22

标签: java android android-fragments actionbarsherlock

我有问题。这段代码在我的nexus 10 android 4.2.1上工作正常。但是在AVD android 2.3上它给了我

NullPointerException com.example.training.ContentFragment.onCreateOptionsMenu(ContentFragment.java:97)

所以我有两个导航标签,每个标签有两个片段。

public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    // Inflate the menu; this adds items to the action bar if it is present.
    activity.getSupportMenuInflater().inflate(R.menu.trainings_menu, menu);
    super.onCreateOptionsMenu(menu, inflater);
}

有人可以帮我这个吗?

3 个答案:

答案 0 :(得分:2)

  

onCreateOptionsMenu(菜单菜单,MenuInflater inflater)

这个方法已经带了MenuInflater参考,你不需要调用它,只需使用提供的一个

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    inflater.inflate(R.menu.activity_main, menu);
} 

答案 1 :(得分:1)

您的菜单和MenuInflater in public void onCreateOptionsMenu(菜单菜单,MenuInflater inflater)应来自Sherlock包。 com.actionbarsherlock.view.Menu和com.actionbarsherlock.view.MenuInflater

答案 2 :(得分:0)

试试这个:

public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    //first call the parent to default behavior
    super.onCreateOptionsMenu(menu, inflater);        
    // Inflate the menu; this adds items to the action bar if it is present.
    activity.getSupportMenuInflater().inflate(R.menu.trainings_menu, menu);
}

菜单inflater已作为param传递给方法。

希望它有所帮助。