我正在为我的Android电视棒制作应用。包装后的遥控器不如常规智能手机触控功能。所以我不得不尽可能避免任何鼠标/手指移动。
这是我面临的问题:
我制作了一个导航抽屉,其中包含可扩展列表视图。一切都按预期工作。它打开和关闭非常顺利。由于我不会使用我的手指或任何鼠标指针,当<我> <可扩展列表视图中的项之一需要选择强烈>打开抽屉。
Expandable listView由自定义组和自定义子布局构成。 到目前为止我所做的一切,除了谷歌搜索我之外是跟着:
在Ex-listview所在的主要活动中:
<ExpandableListView
android:id="@+id/left_drawer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
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_width="fill_parent"
android:layout_height="48dp"
android:background="@drawable/list_item_selector"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:layout_width="5dp"
android:layout_height="fill_parent"
android:layout_gravity="left"
android:background="@drawable/left_row_final"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_marginLeft="16dp"
android:src="@drawable/group_indicator"/>
<TextView
android:id="@+id/lblListHeader"
android:layout_width="fill_parent"
android:layout_height="48dp"
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);
}
});
}
我想要的是:当你打开导航栏时,图片中的第一项应该被选中,所以你只需要点击它就可以打开下拉列表。图片中的“库尔德”小组应该突出显示并准备好用户的命令打开。想象一下,你可以通过遥控器控制你的设备。你不想这么用鼠标。只有一些按钮,如'OK'。这就是我想要实现的目标。
我在这里遵循了许多答案和问题仍然没有解决方案。我希望有人可以帮助我。
提前致谢 // Peyam