我的项目有这个奇怪的问题。我最近从ListView切换到RecyclerView,因此导航抽屉中选定的项目样式不受尊重。 这就是我生成导航抽屉的方式:
Navigation drawer item layout:
<TextView
android:id="@+id/item_name"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:layout_marginRight="@dimen/activity_horizontal_margin"
android:drawablePadding="@dimen/activity_horizontal_margin"
android:layout_marginEnd="@dimen/activity_horizontal_margin"
android:textSize="15sp"
android:gravity="center_vertical"
android:textColor="@android:color/white" />
RecyclerView layout:
<android.support.v7.widget.RecyclerView
android:id="@+id/drawerList"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:clickable="true"
android:focusableInTouchMode="true"
android:scrollbars="vertical"
android:focusable="true"
android:fitsSystemWindows="true"
android:layout_height="match_parent"
android:background="@color/myDrawerBackground" />
抽屉片段所在的导航布局:
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/toolbar_actionbar">
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:clickable="true"
android:layout_height="match_parent"
android:foreground="?android:windowContentOverlay" />
<fragment
android:id="@+id/fragment_drawer"
android:name="MaterialNavbar.NavigationDrawerFragment"
android:layout_width="@dimen/navigation_drawer_width"
android:layout_height="match_parent"
android:layout_gravity="start"
app:layout="@layout/fragment_navigation_drawer"/>
</android.support.v4.widget.DrawerLayout>
我正在通过Android Material Drawer创建导航抽屉。结果如下:
这就是以前用片段而不是ListView
查看RecyclerView
的方式:
我真的不知道问题是什么,我该如何解决。真的很烦人。谢谢您的帮助。
更新:按要求链接到RecyclerView适配器类。 http://pastebin.com/V5R6sve5