android - NavigationDrawer RecyclerView 选中的项目改变颜色

标签 android navigation-drawer

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

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

任何人都可以提出解决方案

提前致谢。

最佳答案

在 NavigationDrawerAdapter 类中定义一个 static 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);
        }
    }

    ...

}

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

        ...
    }));

    ...
}

关于android - NavigationDrawer RecyclerView 选中的项目改变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31045563/

相关文章:

Android 和 SQLite : is there no good way to join queries with the ContactsContract API

java - 使用 android studio 找不到 jvm,已设置 JAVA_HOME

android - 操作栏中的后退按钮打开和关闭 NavDrawer

android - 抽屉导航中真正向下钻取导航的最佳方法

java.lang.IllegalStateException : does not have a NavController set on xxxxx(location address) error 错误

安卓 KitKat : android. view.InflateException : Error inflating class android. support.design.widget.NavigationView

android - 图片下载 : memory leak using LazyList

javascript - 通过 javascript(包括 JSON 对象)访问在 Android 上使用 Java 创建的 JSON 数组

android - 强制在 Android 应用程序中更新证书 .pem

android - 如何使用抽屉导航避免 Android 中的 fragment 重叠