Android - nav_header_menu 中的 setOnClickListener
Android - setOnClickListern in nav_header_menu
我会在 nav_header_menu 中添加事件。
我添加了登录和注册部分,然后当用户点击时我会显示相关的布局页面:
https://ibb.co/wwmFzSk
我添加了 fragment_layout_user.xml 和 ActivityLoginUser class,代码为:
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);
}}
如何在抽屉菜单中实现这个事件?
您可以按照以下代码访问header的视图。
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 的建议解决了它。我把解决这个问题的正确方法贴在这里。
我们需要在添加导航视图的 activity class 中添加此代码。
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
对我有用。
我会在 nav_header_menu 中添加事件。
我添加了登录和注册部分,然后当用户点击时我会显示相关的布局页面: https://ibb.co/wwmFzSk
我添加了 fragment_layout_user.xml 和 ActivityLoginUser class,代码为:
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);
}}
如何在抽屉菜单中实现这个事件?
您可以按照以下代码访问header的视图。
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 的建议解决了它。我把解决这个问题的正确方法贴在这里。
我们需要在添加导航视图的 activity class 中添加此代码。
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
对我有用。