我已經使用SimpleExpandableListAdapter類型在我的Android應用程序中創建了可擴展列表。 但我完全喪失瞭如何檢測事件時,其中一個子項被選中/點擊。如何處理Android SimpleExpandableListAdapter條目選擇
我試過所有常見的OnClickListener/OnChildClickListener等,但似乎無法找到(通過實驗或半小時谷歌搜索)正確的處理程序應該是什麼。
任何幫助非常感謝。
我已經使用SimpleExpandableListAdapter類型在我的Android應用程序中創建了可擴展列表。 但我完全喪失瞭如何檢測事件時,其中一個子項被選中/點擊。如何處理Android SimpleExpandableListAdapter條目選擇
我試過所有常見的OnClickListener/OnChildClickListener等,但似乎無法找到(通過實驗或半小時谷歌搜索)正確的處理程序應該是什麼。
任何幫助非常感謝。
它應該是:
list.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
public void onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
Object o = (Object)adapter.getChild(groupPosition, childPosition);
// perform work on child object here
}
}
儘管,這聽起來像你想這... ExpandableListView.OnChildClickListener說,這是,其實辦法做到這一點。
另外,你有沒有爲你的ListAdapter定義方法allItemsAreEnabled()和/或isEnabled()?你不應該,但也許他們目前已定義並返回錯誤的值?
也...
如果你碰巧使用的擴展BaseExpandableListAdapter一個類,那麼他們是你必須設置爲返回boolean值的默認實現的方法。
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return true;
}
默認情況下,該方法返回false,交換爲true(如果是這種情況),你的OnChildClickListener應該開始正確解決。
事實證明,我可以只聲明onClick,而無需通過setOn ...函數註冊對象。 這與我迄今爲止使用的所有其他類似乎不同。 – DaveG 2010-03-28 20:41:28