NavigationDrawer RecyclerView所选项目更改颜色 [英] NavigationDrawer RecyclerView selected items change color
本文介绍了NavigationDrawer RecyclerView所选项目更改颜色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我选择项目时,我正在尝试更改我的NavigationDrawer中的textColor.我正在使用RecyclerView作为滑动布局.这是基于教程的:
I am trying to change the textColor in my NavigationDrawer when item is selected.I am using RecyclerView as my swipe layout. This is based on the tutorial:
http://www.androidhive.info /2015/04/android-getting-started-with-material-design/
任何人都可以提出解决方案
Anyone can suggest the solution
预先感谢.
推荐答案
在NavigationDrawerAdapter类中定义一个静态int来表示所选项目
Define a static int in NavigationDrawerAdapter class to represent the selected item
在NavigationDrawerAdapter.java
In NavigationDrawerAdapter.java
public class NavigationDrawerAdapter extends RecyclerView.Adapter<NavigationDrawerAdapter.MyViewHolder> {
public static int selected_item = 0;
...
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
NavDrawerItem current = data.get(position);
holder.title.setText(current.getTitle());
if(position == selected_item)
{
holder.title.setTextColor(Color.RED);
}
else
{
holder.title.setTextColor(Color.BLACK);
}
}
...
}
在FragmentDrawer.java
In FragmentDrawer.java
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
...
recyclerView.addOnItemTouchListener(new RecyclerTouchListener(getActivity(), recyclerView, new ClickListener() {
@Override
public void onClick(View view, int position) {
NavigationDrawerAdapter.selected_item = position;
recyclerView.getAdapter().notifyDataSetChanged();
drawerListener.onDrawerItemSelected(view, position);
mDrawerLayout.closeDrawer(containerView);
}
...
}));
...
}
这篇关于NavigationDrawer RecyclerView所选项目更改颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文