引用和更改菜单项

厄玛·鲁宾

背景:我试图在操作栏中添加一个编辑“按钮”(即菜单项),该按钮将在TextView和EditText之间切换。我工作了。现在,我试图在单击按钮后将按钮中的文本更改为“保存”。

问题:我无法找到菜单项-它返回null。谁能告诉我我在做什么错?

这是菜单:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/itEdit"
        android:title="EDIT"
        app:showAsAction="always"
        />
</menu>

这是菜单设置(即扩展操作栏)

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu_written_note, menu);
    return true;
}

@Override
public boolean onMenuOpened(int featureId, Menu menu){
    // A global variable s.t. I could refer to it and update the text
    itEdit = findViewById(R.id.itEdit);
    return true;
}

这是切换部分:

public void toggleEdit() {
    if(isEditing) {
        // Editing -> Viewing

        // Toggling TextView and EditText

        if(itEdit != null) { // It is always null
            itEdit.setTitle("EDIT");
        }
    } else {
        // Viewing -> Editing

        // Toggling TextView and EditText

        if(itEdit != null) { // It is always null
            itEdit.setTitle("SAVE");
        }
    }
    isEditing = !isEditing;
}
普罗卡什·萨卡(Prokash Sarkar)

您从错误的位置引用菜单项。以下解决方案应该起作用。

public class TestActivity extends AppCompatActivity {

  private Menu menu;

  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu_written_note, menu);

    this.menu = menu;

    return true;
  }

  private void updateMenuTitle() {
    MenuItem item = menu.findItem(R.id.itEdit);
    item.setTitle("Test");
  }

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更改菜单项

来自分类Dev

获取对状态菜单项的引用并更改其标题

来自分类Dev

更改菜单项颜色

来自分类Dev

动态更改菜单项

来自分类Dev

如何更改 NavigationView 菜单项的字体和大小?

来自分类Dev

根据菜单项的数量更改菜单项的宽度

来自分类Dev

如何从菜单项获取视图引用?

来自分类Dev

如何从片段更改菜单项图标?

来自分类Dev

更改导航抽屉菜单项的颜色

来自分类Dev

如何更改菜单项的动作窗口?

来自分类Dev

更改最左侧菜单项的样式

来自分类Dev

服务更改菜单项的图标

来自分类Dev

如何更改菜单项的样式

来自分类Dev

CSS 更改移动菜单项大小

来自分类Dev

菜单项-onclick FadeInDown和FadeOutUp

来自分类Dev

如果菜单项更改 Ant.design 和 Reactjs,则更改内容

来自分类Dev

菜单项重复

来自分类Dev

订购菜单项

来自分类Dev

消失的菜单项

来自分类Dev

隐形菜单项

来自分类Dev

Yamm菜单中不同行的徽标和菜单项

来自分类Dev

Python功能:Tkinter菜单和菜单项

来自分类常见问题

更改导航抽屉中选中的菜单项的颜色

来自分类Dev

如何更改当前所选菜单项的颜色?

来自分类Dev

在C#中更改菜单项附近的箭头颜色

来自分类Dev

使用CSS更改活动菜单项的文本颜色

来自分类Dev

如何更改没有2个菜单项的href?

来自分类Dev

fxml中的组合框菜单项字体更改

来自分类Dev

通过样式更改操作栏溢出菜单项的高度