OnClick导航抽屉标题不起作用

var*_*nkr 22 android onclick navigation-drawer

我的应用程序中有一个导航抽屉,其中包含标题和一些列表项.标题有一个textview,我想让它可点击,但我无法做到.

为了获得这个textview的id,我使用了下面的代码,因为它与onCreate中setContentView中的那个相比在不同的布局文件中.

    final LayoutInflater factory = getLayoutInflater();

    final View textEntryView = factory.inflate(R.layout.header, null);

    TextView home = (TextView) textEntryView.findViewById(R.id.home);
    home.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Toast.makeText(curr_context, "SHOW", Toast.LENGTH_LONG).show();

        }
    });
Run Code Online (Sandbox Code Playgroud)

header.xml包含导航抽屉的标题.它有一个名为home的项目.我需要让它可点击.上面的代码在onCreate方法中.

Sim*_*mer 90

对我来说,其他答案没有用. 我试过下面的代码.我知道为时已晚.希望这会有所帮助.

我做了什么来访问标题的视图.

NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
View headerview = navigationView.getHeaderView(0);
TextView profilename = (TextView) headerview.findViewById(R.id.prof_username);
profilename.setText("your name")
Run Code Online (Sandbox Code Playgroud)

为了点击标题的视图,这里我使用了headerview的linearlayout

LinearLayout header = (LinearLayout) headerview.findViewById(R.id.header);
header.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(HomeActivity.this, "clicked", Toast.LENGTH_SHORT).show();
            drawer.closeDrawer(GravityCompat.START);
        }
    });
Run Code Online (Sandbox Code Playgroud)

要么

 headerview.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           // Your code here 
        }
    });
Run Code Online (Sandbox Code Playgroud)

  • 像魅力一样工作:) (2认同)