单击“ RecyclerView行”时如何打开菜单项

时间:2019-04-21 21:04:51

标签: android kotlin android-recyclerview bottomnavigationview

我有一个带有BottomNavigationView的应用,其中包含2个菜单项。两者都有其Fragments。在Fragment的第一项上,我有一个RecyclerView。我想打开RecyclerView行上的第二个菜单项,并发送一些参数。我应该如何在哪里做?

我现在在做什么: 在第一个菜单项上显示的Fragment中,我有一个传递给RecyclerViewAdapter的方法,以便每次轻按一行都可以触发它。但我在listener as BottomNavActivity中找不到打开第二个菜单项的任何方法

2 个答案:

答案 0 :(得分:1)

您需要引用适配器中的活动。您可以在初始化期间使用

SomeAdapter(var activity: Activity)

然后在适配器内部,通过以下操作设置onClickListener

activity?.navigation?.selectedItemId = R.id.navigation_id_here

答案 1 :(得分:0)

从API 25.3.0开始,引入了setSelectedItemId(int id)方法,让您将某项标记为已选中,就像被点击一样。

来自文档:

  

设置所选菜单项的ID。这与点击   项目。

代码示例:

BottomNavigationView bottomNavigationView;
bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottomNavigationView);
bottomNavigationView.setSelectedItemId(R.id.my_menu_item_id);

对于那些仍在使用SupportLibrary <25.3.0

的用户
View view = bottomNavigationView.findViewById(R.id.menu_action_item);
view.performClick();