不工作的Andr​​oid工具栏操作图标 [英] Android Toolbar Action icon not working

查看:135
本文介绍了不工作的Andr​​oid工具栏操作图标的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个工具栏材料在我的应用程序,并且我有两个 menu_main.xml menu_main2.xml 。图标正确显示在这两个工具栏,但工具栏上的一个动作不起作用。我怎样才能解决这个问题?

 保护无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.activity_main);    //设置工具栏
    工具栏=(栏)findViewById(R.id.tool_bar);
    setSupportActionBar(工具栏);
    toolbar2 =(工具栏)findViewById(R.id.tool_bar2);
    toolbar2.inflateMenu(R.menu.menu_main2);

这是我的onCreateOptions,

  @覆盖
公共布尔onCreateOptionsMenu(菜单菜单){
    //充气菜单;如果是present这增加了项目操作栏。
    。getMenuInflater()膨胀(R.menu.menu_main,菜单);
    返回true;
}

和onOptionsItemSelected。

  @覆盖
公共布尔onOptionsItemSelected(菜单项项){
    //处理动作栏项目点击这里。操作栏会
    //自动处理上点击主页/向上按钮,只要
    //你在AndroidManifest.xml中指定一个父活动。
    INT ID = item.getItemId();
    web1的=(的WebView)findViewById(R.id.web1);
    WEB2 =(的WebView)findViewById(R.id.web2);
    WEB3 =(的WebView)findViewById(R.id.web3);

这个动作的作品,它是从工具栏,

 如果(ID == R.id.action_google){
        web1.setVisibility(View.GONE);
        web2.setVisibility(View.GONE);
        web3.setVisibility(View.VISIBLE);
    }

这是从Toolbar2,它不能正常工作...

 如果(ID == R.id.action_naver){
        web1.setVisibility(View.VISIBLE);
        web2.setVisibility(View.GONE);
        web3.setVisibility(View.GONE);
    }


解决方案

  toolbar2.setOnMenuItemClickListener(新OnMenuItemClickListener(){        @覆盖
        公共布尔onMenuItemClick(菜单项为arg0){
            如果(arg0.getItemId()== R.id.whatever){            }
            返回false;
        }
    });

I have two Material Toolbars in my app, and I have two menu_main.xml and menu_main2.xml. The icon shows properly in both toolbars, but the action on one of the toolbar doesn't work. How can I fix it?

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //Setup Toolbar
    toolbar = (Toolbar) findViewById(R.id.tool_bar);
    setSupportActionBar(toolbar);
    toolbar2 = (Toolbar) findViewById(R.id.tool_bar2);
    toolbar2.inflateMenu(R.menu.menu_main2);

This is my onCreateOptions,

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

and onOptionsItemSelected.

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    web1 = (WebView) findViewById(R.id.web1);
    web2 = (WebView) findViewById(R.id.web2);
    web3 = (WebView) findViewById(R.id.web3);

This action works, it is from Toolbar,

   if (id == R.id.action_google) {
        web1.setVisibility(View.GONE);
        web2.setVisibility(View.GONE);
        web3.setVisibility(View.VISIBLE);
    }

This is from Toolbar2, which doesn't work...

    if (id == R.id.action_naver) {
        web1.setVisibility(View.VISIBLE);
        web2.setVisibility(View.GONE);
        web3.setVisibility(View.GONE);
    }

解决方案

toolbar2.setOnMenuItemClickListener(new OnMenuItemClickListener() {

        @Override
        public boolean onMenuItemClick(MenuItem arg0) {
            if(arg0.getItemId() == R.id.whatever){

            }
            return false;
        }
    });

这篇关于不工作的Andr​​oid工具栏操作图标的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆