在expandableListView

时间:2015-09-02 23:32:15

标签: android android-listview navigation-drawer expandablelistview

我正在为我的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'。这就是我想要实现的目标。

Kurdish row background need to get highlighted to some other color and ready for clicking

我在这里遵循了许多答案和问题仍然没有解决方案。我希望有人可以帮助我。

提前致谢 // Peyam

1 个答案:

答案 0 :(得分:0)