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)
| 归档时间: |
|
| 查看次数: |
27227 次 |
| 最近记录: |