在我的應用中實現ExpandableListView時,我一直在onPause和onResume上遇到一些麻煩。我可能會做這一切都是錯誤的(在這種情況下,請告訴我,我會努力做到這一點),因爲我學習Android主要來自我可以在網上找到的東西。所以,爲了進入它,我幾乎讓我的ExpandableListView按我的意願工作,但是卻有一點點bugbear。當我恢復活動時(例如在屏幕關閉後),我重新創建了我的遊標(是恢復活動的最佳方式嗎?我在...之前獲取遊標錯誤),然後以編程方式擴展當活動已暫停。現在我想要做的是更改擴展組的背景繪製,但我似乎無法找到獲取其視圖的方式。有任何想法嗎?在onResume中Android中編程式地更改ExpandableListView組的背景
@SuppressWarnings("unchecked")
@Override
protected void onResume() {
super.onResume();
String searchText = ((QueryString)this.getApplicationContext()).getQuery();
if((searchText == null || searchText.length() < 1))
if(!hasQuery)
refreshCursor();
else
searchCursor(queryString);
else
searchCursor(searchText);
ArrayList<Integer> ToExpand = (ArrayList<Integer>) ExpandedList.clone();
ExpandedList.clear();
for(Integer i : ToExpand)
{
listContent.expandGroup(i);
listContent.getChildAt(i).setBackground(getResources().getDrawable(R.drawable.listview_style_selected)); //NOT WORKING
}
}
編輯:
我真正想要的是,我剛纔跟listContent.expandGroup(i)
編程擴展,這樣我就可以手動更改背景繪製的視圖。不幸的是getGroupView
(當背景通常被改變時)在你以編程方式展開一個組時不會觸發,因此背景可繪製保持不變。我怎樣才能得到這個觀點?
沒有運氣與notifyDataSetChanged()。當我今天晚上下班時,我會嘗試記錄getChildAt。 –
getChildAt返回null ...不確定這是要使用的正確函數。 –