选择 expandableListView 中的第一组
Posted
技术标签:
【中文标题】选择 expandableListView 中的第一组【英文标题】:Select the first group in a expandableListView 【发布时间】:2015-11-28 15:32:40 【问题描述】:我正在为我的 android 电视棒制作应用程序。包装附带的遥控器不如普通智能手机的触控功能。所以我不得不尽可能避免任何鼠标/手指的移动。
这是我面临的问题:
我制作了一个导航抽屉,其中包含一个可扩展列表视图。一切正常。它打开和关闭非常顺畅。由于我不会使用手指或任何鼠标指针,当我strong>打开抽屉。
Expandable listView 由自定义组和自定义子布局组成。 到目前为止,我所做的除了在谷歌上搜索我的 S***t 之外如下:
在 Ex-listview 所在的 Main Activity 中:
<ExpandableListView
android:id="@+id/left_drawer"
android:layout_
android:layout_
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@null"
android:focusable="true"
android:groupIndicator="@null"
/>
custom-group.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:background="@drawable/list_item_selector"
android:orientation="vertical">
<LinearLayout
android:layout_
android:layout_>
<ImageView
android:layout_
android:layout_
android:layout_gravity="left"
android:background="@drawable/left_row_final"/>
<ImageView
android:layout_
android:layout_
android:layout_gravity="center"
android:layout_marginLeft="16dp"
android:src="@drawable/group_indicator"/>
<TextView
android:id="@+id/lblListHeader"
android:layout_
android:layout_
android:layout_marginLeft="72dp"
android:alpha="0.8"
android:gravity="center_vertical"
android:textColor="@color/text_color"
android:textSize="14sp"/>
</LinearLayout>
还有 list_item_selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true">
<shape>
<solid android:color="#2a669d"/>
</shape>
</item>
<item>
<shape>
<solid android:color="#FAFAFA"/>
</shape>
</item>
最后在 Activity-main.Java 我有关注
private void Initiate()
// Defining Drawer Layout
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
expListView = (ExpandableListView) findViewById(R.id.left_drawer);
// Adding Channels
prepareListData();
listAdapter = new ExpandableListAdapter(this, listDataHeader, listDataChild);
Log.e("TAG", "THE LISTVIEW CREATED");
expListView.setAdapter(listAdapter);
expListView.setOnChildClickListener(this);
mDrawerLayout.setDrawerListener(new DrawerLayout.SimpleDrawerListener()
@Override
public void onDrawerOpened(View drawerView)
expListView.setItemChecked(0,true); // Even tried Itemselected(position) No result. Tried also requestFocus and edited the list-Item-selector.xml for both cases(selected, focused,checked). tried even Itemcanfocus
super.onDrawerOpened(drawerView);
);
我想要的是:当您打开导航抽屉时,应该选择图片中的第一项,因此您只需单击它并打开下拉菜单。图片中的“Kurdish”组应突出显示并准备好用户命令打开。想象一下,您通过遥控器控制您的设备。你不想用鼠标这么多。只有一些按钮,如“确定”。这就是我想要实现的目标。
我在这里遵循了许多答案和问题,但仍然没有解决方案。我希望有人可以帮助我。
提前致谢 // 佩亚姆
【问题讨论】:
【参考方案1】:使用ExpandableListView.setSelectedChild() 或ExpandableListView.setSelectedGroup()。
【讨论】:
您好,我看不出有什么不同以上是关于选择 expandableListView 中的第一组的主要内容,如果未能解决你的问题,请参考以下文章
Expandablelistview 中的奇怪行为 - Android
如何处理 ExpandableListView 中的单选按钮?
在 ExpandableListView 上滚动时选择复选框重复
具有多项选择的 ExpandableListView 将所选项目保存到数组中