gpt4 book ai didi

Android RecyclerView 选择第一个项目

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:00:56 66 4
gpt4 key购买 nike

我正在使用 RecyclerView 来实现 NavigationDrawer。

我的点击事件有效,但我无法弄清楚如何在 App 启动时选择第一个项目,然后即使未显示抽屉,也如何使所选项目高亮显示。

我所能找到的只是 RecyclerView 中的多项选择。

最佳答案

实际上,我只是在我正在开发的应用程序中实现了这一点。所以这个方法奏效了:

首先创建一个变量来跟踪适配器顶部的当前选定位置:

private int selectedItem;

然后在您的 Adapter 构造函数中初始化您想要的 selectedItem 值:

public NavDrawerMenuListAdapter(Context context, List<NavDrawerItem> data, NavDrawerMenuListViewHolder.NavDrawerMenuClickInterface listener) {
this.context = context;
mLayoutInflater = LayoutInflater.from(context);
this.navDrawerItems = data;
this.listener = listener;
selectedItem = 0;
}

这里我使用 0,因为这是我菜单中的第一项。

然后在您的 onBindViewHolder(NavDrawerMenuListViewHolder holder, int position) 中检查您的 selectedItem == position 并将某些 View 的背景设置为选定背景,如下所示:

if (selectedItem == position) {
holder.single_title_textview.setTextColor(0xff86872b);
holder.nav_drawer_item_holder.setBackgroundColor(Color.DKGRAY);
}

在这里,我将文本颜色设置为绿色,并在开始时为 Realativelayout 父级提供灰色背景。当然,您可以按照自己喜欢的任何方式对其进行自定义。

要实现对项目的选择并保持状态,我使用以下方法:

public void selectTaskListItem(int pos) {

int previousItem = selectedItem;
selectedItem = pos;

notifyItemChanged(previousItem);
notifyItemChanged(pos);

}

我通常从 OnClick() 方法调用此方法。

希望这对您有所帮助!

关于Android RecyclerView 选择第一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30167929/

66 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com