toolbar.setNavigationOnClickListener 无效

今天在使用Toobar时遇到一个奇怪的问题
toolbar.setNavigationOnClickListener()设置点击事件后 不起作用.

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

        toolbar = (Toolbar) findViewById(R.id.toolbar);
        toolbar.setNavigationIcon(R.drawable.return_03);
        toolbar.setNavigationOnClickListener(mToobarNavigationOnclick);
        setSupportActionBar(toolbar);
  }



 View.OnClickListener mToobarNavigationOnclick = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Log.i("toolbar", "toolbar点击");
            //do something
        }
    };

运行一下 没问题啊.等一下 为什么mToobarNavigationOnclick 没有触发???

经过一番查询,setSupportActionBar要放在OnClickListener前执行
(好无奈,我只是想代码整齐点)

setSupportActionBar(toolbar);
toolbar.setNavigationOnClickListener(mToobarNavigationOnclick);

这样就行了


        toolbar = (Toolbar) findViewById(R.id.toolbar);
        //setSupportActionBar(toolbar)一定要放在setNavigationOnClickListener前,
        //不然onclick无效
        setSupportActionBar(toolbar);
        toolbar.setNavigationIcon(R.drawable.return_03);
        toolbar.setNavigationOnClickListener(mToobarNavigationOnclick);
        

解决

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容