我已经对这个问题感到沮丧很长一段时间了,但我似乎无法使导航抽屉中的某个项目既不以编程方式显示,也不会在用户选择时显示.
我正在努力实现以下目标
http://i.stack.imgur.com/PIHEm.png(我还不能发布图片)
我在http://developer.android.com/training/implementing-navigation/nav-drawer.html跟随了示例导航抽屉
每当我切换片段时,我都会在导航抽屉的ListView上调用setItemChecked()
mDrawerListView.setItemChecked(position,true);,但它似乎没有选择listview中位置的项目.
我的布局文件也几乎与Google的示例完全一样
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" /> <ListView android:id="@+id/left_drawer" android:layout_width="160dp" android:layout_height="match_parent" android:layout_gravity="start" android:choiceMode="singleChoice" android:divider="@android:color/transparent" android:dividerHeight="0dp" android:background="#e5e5e5" /> </android.support.v4.widget.DrawerLayout>
非常感谢任何帮助,并提前感谢.
编辑:这是我的导航抽屉的初始化代码.如您所见,我没有使用自定义ListView或适配器.
private void setUpDrawer() { mDrawerListViewItems = getResources().getStringArray(R.array.drawer_list_item_names); mDrawerListView = (ListView) findViewById(R.id.left_drawer); mDrawerListView.setAdapter(new ArrayAdapter<String>(this,R.layout.drawer_list_item,mDrawerListViewItems)); mDrawerListView.setOnItemClickListener(new ListView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent,View view,int position,long id) { selectCounterFragment(position); } }); mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerToggle = new ActionBarDrawerToggle( this,/* host Activity */ mDrawerLayout,/* DrawerLayout object */ R.drawable.ic_drawer,/* nav drawer icon to replace 'Up' caret */ R.string.drawer_open,/* "open drawer" description */ R.string.drawer_close /* "close drawer" description */ ); // Set actionBarDrawerToggle as the DrawerListener mDrawerLayout.setDrawerListener(mDrawerToggle); // styling option add shadow the right edge of the drawer mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow,GravityCompat.START); }
谢谢大家,到目前为止的答复.
解决方法
列表项的布局是什么?列表项布局存在许多陷阱“吞咽”状态,导致列表视图不可选择/可点击.
我建议你看一下Cyril Mottier之前的优秀文章,特别注意“为什么,地狱,我的项目浏览量不再可点击?”
祝好运,
CJ.