我会在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
它对我有用。