Android NavigationView Headerlayout的视图元素不会触发点击事件

时间:2017-09-05 09:17:51

标签: android kotlin drawerlayout navigationview kotlin-android-extensions

我正在尝试创建像gmail这样的导航视图。在标题布局中,我有一个图像视图和两个textView。我已经注册了TextView的点击事件。但是,当我单击onClick方法时,侦听器不会触发(代码在Kotlin中)

navigation_view是我的NavigationView的ID

var headerView = navigation_view.getHeaderView(0)

var accountName: TextView = headerView.findViewById(R.id.account_name)

accountName.setOnClickListener { Toast.makeText(this, "Redirect to login", Toast.LENGTH_LONG).show() } 
当我点击textView并且drawerLayout关闭时,

从未显示toast。

1 个答案:

答案 0 :(得分:0)

尝试这样

 NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);

    View view = navigationView.getHeaderView(0);


   TextView account_name = (TextView) view.findViewById(R.id.account_name);

    account_name.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(HomeActivity.this,"Clicked",Toast.LENGTH_LONG).show();
        }
    });