我有以下问题。

我在一个带有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/

10-14 05:45