NavigationDrawer RecyclerView选择的项目会改变颜色

Ang*_*iee 3 android navigation-drawer

当我选择项目时,我正在尝试更改NavigationDrawer中的textColor.我使用RecyclerView作为我的滑动布局.这是基于教程:

http://www.androidhive.info/2015/04/android-getting-started-with-material-design/

任何人都可以建议解决方案

提前致谢.

chi*_*gjn 8

在NavigationDrawerAdapter类中定义静态int以表示所选项

在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);
        }
    }

    ...

}
Run Code Online (Sandbox Code Playgroud)

在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);
        }

        ...
    }));

    ...
}
Run Code Online (Sandbox Code Playgroud)