android - 将导航视图上的项目设置为从片段中选择
问题描述
当移动到不同的片段时,我希望导航菜单中的相应项目被突出显示。这应该从片段本身完成。以下是片段中的代码:
saveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dispName = dispNameET.getText().toString();
myRef.setText(dispName);
//going to another fragment
Fragment fragment = new ListFragment();
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.frame_layout, fragment);
fragmentTransaction.commit();
}
});
在此之后,导航视图将错误的项目显示为突出显示。请帮忙
解决方案
您的代码应如下所示
saveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dispName = dispNameET.getText().toString();
myRef.setText(dispName);
//going to another fragment
Fragment fragment = new ListFragment();
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.frame_layout, fragment);
fragmentTransaction.commit();
NavigationView navigationView = (NavigationView) getActivity().findViewById(R.id./*id of nav bar*/);
navigationView.setCheckedItem(R.id./*id of menu item to be highlighted*/);
}
});
推荐阅读
- elasticsearch - 每个 @timestamp 小时的 ElasticSearch 查询聚合
- sql - 找到每个部门的 emp_names、max、min 工资和员工人数?
- java - Oozie Spark2 Java 操作:如何关闭
- gravityforms - 通过标签文本获取重力形式字段属性
- c# - 方法“AddForce()”不适用于我的对象
- kubernetes - Kubernetes 仪表板:获取 https://10.96.0.1:443/version:拨打 tcp 10.96.0.1:443:i/o 超时
- ruby-on-rails - 如何使列依赖于一个模型中的其他列
- html - 电子邮件模板填充未对齐
- amazon-web-services - 有没有办法在 python 中模拟雅典娜和单元测试?
- tensorflow - 尝试通过 tensorflowjs_converter 将 TF.Estimator 模型转换为 Tensorflow.js 时出错