1

我在 android 中创建一个菜单,覆盖 onCreateOptionsMenu 方法,如下所示:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    menu.add(0, 0, 0, "Blit").setCheckable(true);
    return true;

}

public boolean onOptionsItemSelected(MenuItem item) {
    if (item.getItemId() == 0)
    {
              somevar = !somevar;
              item.setchecked(somevar);

            }
    }

问题是菜单从未被检查过......我怎样才能检查我的菜单?

4

2 回答 2

1

您必须在onPrepareOptionsMenu调用时更新所有菜单项。

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    for (int i = 0; i < menu.size(); i++) {
        MenuItem item = menu.getItem(i);
        if (item.getItemId() == 0)
            item.setChecked(somevar);
    }
    return super.onPrepareOptionsMenu(menu);
}
于 2012-05-07T07:18:59.010 回答
0

对于选中的菜单,您应该制作这种类型的菜单。然后你可以有可检查的项目(无,全部,单一)。

于 2012-05-07T09:28:35.533 回答