Android-nav_header_menu中的setOnClickListern

问题描述

我会在nav_header_menu中添加事件。

添加登录注册部分,然后在用户单击时显示相对布局页面https://ibb.co/wwmFzSk

添加了带有代码的fragment_layout_user.xml和activityloginUser类:

public class activityloginUser extends AppCompatActivity{

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

    ActionBar ab = getSupportActionBar();
    ab.setdisplayHomeAsUpEnabled(true);
}}

如何在抽屉菜单中实现此事件?

解决方法

您可以按照以下代码访问标头视图。

NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
View headerview = navigationView.getHeaderView(0);
TextView login= (TextView) headerview.findViewById(R.id.login);
login.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
       // Your code here 
    }
});
,

我也通过@SumitSingh建议解决了它。我在这里粘贴了解决该问题的正确方法。

我们需要将此代码添加到添加导航视图的活动类中。

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
View headerview = navigationView.getHeaderView(0);
TextView login= (TextView) headerview.findViewById(R.id.login);
login.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
       // Your code here 
    }
});

替换//您的代码在这里:

Intent loginUserIntent = new Intent(getContext(),ActivityLoginUser.class);

            /* Start the new activity */
            startActivity(loginUserIntent);

如果getContext()出错,请将其替换为MainActivity.this

对我有用。