我有以下问题。
我在一个带有2个标签的tabActivity中。每个选项卡将启动相同的活动,但是有一个onTabChangeListener。
在这个tabchange侦听器中,我需要为每个活动设置不同的listview适配器。
因此,我将有两个不同的列表,并且我想从此onTabchangeListener的TabActivity更改其适配器,但出现以下错误: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);
}
}
}
});
}
主要问题是如何设置TabActivity中Activity中的listView的适配器。
非常感谢你。
最佳答案
如果要将适配器传递给子活动,则需要某种全局共享对象。一种选择是将适配器传递给父TabActivity中的Application对象,然后在子活动中检索它。
关于java - 如何从TabActivity中的外部Activity填充ListView适配器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10119142/