1
我遇到以下問題。如何從外部填充listview適配器在TabActivity中的活動
我在一個tabActivity與2個選項卡。每個標籤都會啓動相同的活動,但有一個onTabChangeListener。 在這個tabchange監聽器中,我需要設置每個活動都不同的listview適配器。 所以我會有兩個不同的名單,我想改變TabActivity他們的適配器,從這個onTabchangeListener,但我得到了以下錯誤:在OnCreate()之前的系統不爲活動提供服務 爲標籤的代碼是:
host = getTabHost();
host.addTab(host.newTabSpec(TAG_AVAILABLE).setIndicator("First Tab")
.setContent(new Intent(this, MyActivity.class)));
host.addTab(host.newTabSpec(TAG_DOWNLOAD).setIndicator("Second Tab ")
.setContent(new Intent(this, MyActivity.class)));
host.setOnTabChangedListener(new TabHost.OnTabChangeListener() {
@Override
public void onTabChanged(String s) {
MyActivity myActivity = new MyActivity();
int i = getTabHost().getCurrentTab();
if (i == FIRST_TAB) {
setAdapterForMyActivity(firstAdapter);
}
}
if (i == SECOND_TAB) {
setAdapterForMyActivity(secondAdapter);
}
}
}
});
}
主要問題是如何設置ListView的適配器,該適配器位於TabActivity的Activity中。 非常感謝。
不要設置適配器只是初始化適配器,並將該適配器設置在活動 – 2012-04-12 07:24:49
的oncreate中顯示活動的完整代碼。 – 2012-04-12 07:27:54
你永遠無法做這個調用:'MyActivity myActivity = new MyActivity();'。獲取活動的唯一方法是操作系統創建它時。 – Femi 2012-04-12 07:29:50