动态更改工具栏菜单项操作

时间:2016-02-01 16:09:26

标签: android button menu toolbar menuitem

我的工具栏上有这个菜单项,它的动作R.id.action_edit将我所有活动的编辑文字状态设置为启用,我是我想知道如何做到这一点,当点击时,这个按钮将他的动作改为同一个menu.xml文件R.id.action_save中的第二个动作,该文件将字段值更新到数据库中,所以当再次点击时,它会保存数据。

或者,如果有办法将第一个menuItem可见性设置为false,并且在单击第一个menuItem时将第二个menuItem设置为可见。

1 个答案:

答案 0 :(得分:0)

  1. 您必须声明两个全局菜单项(在工具栏中使用,例如id mEdit,mSave)
  2.   

    MenuItem mEdit,mSave; EditText editText;

    1. 中提供记忆
      public boolean onCreateOptionsMenu(Menu menu) {  
          mEdit= menu.findItem(R.id.mEdit);  
          mSave = menu.findItem(R.id.mSave);  
          hideMenuItem(); 
          return true;
          }
      
    2. 定义方法

    3. private void hideMenuItem()
       {
          if(editText.getText().length()>0)
              {
                mEdit.setVisible(false);
                mSave.setVisible(true);
               }
           else
               {
                mEdit.setVisible(true);
                mSave.setVisible(false);
                }
       }
      
      1. 在onTextChanged中将TextWatcher添加到editText中编写此代码(

        editText.addTextChangedListener(new TextWatcher()

      2. public void onTextChanged(CharSequence s, int start, int before, int count) 
            {
              hideMenuItem();
            }});