尝试使用支持库中的操作栏时出现StackOverFlowError

时间:2014-09-22 18:18:13

标签: android android-actionbar android-menu stack-overflow android-actionbaractivity

我有一个非常恼人的问题,我在三星(s3)设备上进行测试,而且每件事情都运行得很好,然后我在操作系统4.0中使用了LG设备,当我尝试打开我的应用程序时,我在以下方法中得到了stackoverflower

public boolean onCreateOptionsMenu(Menu menu) {

    getMenuInflater().inflate(R.menu.actions_menu, menu);   
}

我的基础活动从 android.support.v7

扩展 ActionBarActivity

任何人都可以帮忙吗?

编辑1

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    getMenuInflater().inflate(R.menu.actions_menu, menu);

    MenuItem editItem = menu.findItem(R.id.action_edit);
    MenuItem saveItem = menu.findItem(R.id.action_save);
    MenuItem deleteItem = menu.findItem(R.id.action_delete);

    editItem.setVisible(isEditEnable());
    saveItem.setVisible(isSaveEnable());
    deleteItem.setVisible(isDeleteEnable());

    invalidateOptionsMenu();
    return true;
}

getMenuInflater()。inflate(R.menu.actions_menu,menu);

1 个答案:

答案 0 :(得分:2)

看起来你在充气菜单后打电话给return onCreateOptionsMenu(); 而只是使用return true;

<强>更新
您正在拨打invalidateOptionsMenu();,我认为我会再次致电onCreateOptionsMenu() 将其删除并更改onPrepareOptionMenu()中的菜单,无需拨打invalidateOptionsMenu()