[英]setOnChildClickListener not invoked in ExpandableListView
[英]android ExpandableListView add button setonchildclicklistener not working
以下代碼
<TextView
android:id="@+id/lblListHeader"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="?android:attr/expandableListPreferredItemPaddingLeft"
android:paddingRight="20dp"
android:textSize="18sp"
android:singleLine="true" />
<TextView
android:id="@+id/lblListDesc"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="?android:attr/expandableListPreferredItemPaddingLeft"
android:paddingTop="25dp"
android:textSize="12sp"
android:text="This is Desc" />
setOnGroupClickListener過程起作用
expListView.setOnGroupClickListener(new OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
Toast.makeText(getApplicationContext(), "Group Clicked " + listDataHeader.get(groupPosition), Toast.LENGTH_SHORT).show();
return true;
}
});
但是,如果您添加按鈕
<TextView
android:id="@+id/lblListHeader"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="?android:attr/expandableListPreferredItemPaddingLeft"
android:paddingRight="20dp"
android:textSize="18sp"
android:singleLine="true" />
<Button
android:id="@+id/iconShowParamGroup"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentRight="true"
android:background="@drawable/ic_launcher"
android:onClick="showParamGroup" />
<TextView
android:id="@+id/lblListDesc"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="?android:attr/expandableListPreferredItemPaddingLeft"
android:paddingTop="25dp"
android:textSize="12sp"
android:text="This is Desc" />
該過程setOnGroupClickListener不起作用。 並據此產生以下內容,不予披露。 你能指出我一個錯誤嗎?
謝謝!
好像您添加到項目中的Button獲得項目焦點和onClick事件一樣,只需將Button focusable設置為false。 檢查一下:
<Button
android:id="@+id/iconShowParamGroup"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentRight="true"
android:background="@drawable/ic_launcher"
android:focusable="false"
android:onClick="showParamGroup" />
希望這可以幫助。
您必須在ExpandableListView上包含參數android:descendantFocusability="blocksDescendants"
:
<ExpandableListView
android:id="@+id/treatments_expandable_list"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:descendantFocusability="blocksDescendants"
android:groupIndicator="@null"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.