我正在使用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
然后将某个视图的背景设置为已选中的背景,如下所示:
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()方法调用此方法。
希望这可以帮助!。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句