Android RecyclerView选择第一个项目

我正在使用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持有人,int位置)中,只需检查您的selectedItem ==位置,然后将某些视图的背景设置为已选中的背景,如下所示:

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()方法调用此方法.

希望这可以帮助!.

上一篇:java-突出显示链接


下一篇:httpServer V1