0
我正在嘗試設置一個孩子點擊收聽我的ExpandedListView,我得到一些奇怪的結果:的Android onClickListener奇怪的行爲
theList.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View view, int groupPosition, int childPosition, long id) {
Log.i(LOG_TAG, "clicked");
ExpandableListAdapter adapter = parent.getExpandableListAdapter();
View v = (View)adapter.getChild(groupPosition, childPosition);
Toast toast = Toast.makeText(getApplicationContext(),
"item: " + new Integer(groupPosition).toString() + ":" + new Integer(childPosition).toString(),
Toast.LENGTH_SHORT);
toast.show();
if (!((CheckedTextView)view.findViewById(R.id.check)).isChecked()){
((CheckedTextView)view.findViewById(R.id.check)).setChecked(true);
} else {
((CheckedTextView)view.findViewById(R.id.check)).setChecked(false);
}
return true;
}
});
它那種工作。當我檢查其中一件物品時,另一件物品也將被選中,看似隨機。我不正確嗎?
還在摸索着這個。已經有好幾天了。我知道其他人也有這個問題,但還沒有找到解決方案。 – moonlightcheese 2011-03-25 18:37:02
被檢查的項目實際上正在變成隨機的,不同的地方,因爲我在列表中上下滾動。例如,當我放下組0並且點擊項目0時,該項目被選中,但是當我拉下組2時,它的項目5被點擊,但是,在上面,組0項目0現在未被選中,並且項目3在那個小組現在被選中。把我的頭髮拉出來。這沒有意義。這個確切的代碼使用ExpandableListActivity的另一個例子。 – moonlightcheese 2011-03-25 18:46:12