Android-在nav_header_menu中设置OnClickListern



我会在nav_header_menu中添加事件。

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

我添加了fragment_layout_user.xml和ActivityLogiUser类,代码为:

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

它对我有用。

相关内容

  • 没有找到相关文章

最新更新