android – 如何使导航栏中的特定项目显示为已选中?

android – 如何使导航栏中的特定项目显示为已选中?,第1张

概述我已经对这个问题感到沮丧很长一段时间了,但我似乎无法使导航抽屉中的某个项目既不以编程方式显示,也不会在用户选择时显示. 我正在努力实现以下目标 http://i.stack.imgur.com/PIHEm.png(我还不能发布图片) 我在http://developer.android.com/training/implementing-navigation/nav-drawer.html跟随了示 我已经对这个问题感到沮丧很长一段时间了,但我似乎无法使导航抽屉中的某个项目既不以编程方式显示,也不会在用户选择时显示.

我正在努力实现以下目标
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.

总结

以上是内存溢出为你收集整理的android – 如何使导航栏中的特定项目显示为已选中?全部内容,希望文章能够帮你解决android – 如何使导航栏中的特定项目显示为已选中?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1138335.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存