android-studio - 如何在单独的布局文件中引用 TextView?
问题描述
我已经建立了一个由 3 个 xml 文件组成的导航活动,即
home_activity.xml
nav_header.xml
抽屉菜单.xml
home_activity.xml 将这些组合在一起,并在 HomeActivity.java 中设置为内容视图。
现在,我正在以编程方式尝试在 nav_header.xml 文件中设置 TextView 的文本,但最终出现空指针异常。我知道为什么,但不太清楚如何克服这个问题。一个人如何引用原始 TextView 而不是它的副本,因为它是膨胀和添加它的结果。
PS。我有 2 周的 Android 经验,
提前致谢
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home_activity);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
drawer = findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer,
toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();
View nav_header = getLayoutInflater()
.inflate(findViewById(R.id.nav_header), null);
TextView text_username = nav_header.findViewById(R.id.text_username);
text_username.setText("There you go");
}
解决方案
所以我找到了一个解决方案:
NavigationView navigationView = findViewById(R.id.nav_view);
View navigationHeader = navigationView.getHeaderView(0);
textUsername = navigationHeader.findViewById(R.id.text_username);
textUsername.setText("There you go");
推荐阅读
- css - 将跨越页面内容的整个高度的响应式背景图像(动画淡入淡出循环)?
- java - 未连接适配器;跳过布局:Recyclerview & Retrofit2
- sql - 没有层次结构的两表递归查找,这可能吗?
- algorithm - 为什么我的 Haskell 代码似乎无法并行运行
- python - 嵌套for循环棋盘着色不起作用Python
- python - 如何在 tkinter 中的行之间创建空格?
- python - 在两条交叉线上绘制圆圈
- ruby - 更新到 v2 后 Jekyll 中的分页错误
- php - dompdf 没有从 Laravel 8 和 Livewire 视图下载 PDF
- python - Python 环境总是在导入库后立即终止