我已经对这个问题感到沮丧了很长一段时间,但我似乎无法使导航抽屉中的某个项目既不以编程方式显示也不会在用户选择时显示.
我正在尝试实现以下 http://i.stack.imgur.com/PIHEm.png(我无法发布图片)
我已经按照http://developer.android.com/training/implementing-navigation/nav-drawer.html上的示例导航抽屉进行操作
,每当我切换片段时,我都会调用setItemChecked()导航抽屉的ListView
mDrawerListView.setItemChecked(position, true);,但它似乎没有在列表视图中的位置选择项目.
我的布局文件也几乎与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>
Run Code Online (Sandbox Code Playgroud)
非常感谢任何帮助,并提前感谢.
编辑:这是我的导航抽屉的初始化代码.如您所见,我没有使用自定义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, …Run Code Online (Sandbox Code Playgroud) 我注意到,尽管在安装应用程序时未显示VIBRATE权限,但Play商店中的几个应用程序仍可以使我的设备振动.例如,如果我撞墙,以下游戏能够使我的手机振动.这是我在安装时看到的内容:

但是,当我查看设置时,我可以看到该权限已明确声明:

有没有一种特殊的方法来实现这一点,例如,一个额外的清单xml标签,或者这应该是谷歌的错误?