java - 如何从 TabActivity 中的外部 Activity 填充 ListView 适配器

标签 java android

我有以下问题。

我在一个有 2 个选项卡的 tabActivity 中。每个选项卡都会启动相同的 Activity ,但有一个 onTabChangeListener。 在这个 tabchange 监听器中,我需要为每个 Activity 设置不同的 ListView 适配器。 所以我将有两个不同的列表,我想从 TabActivity 和这个 onTabchangeListener 更改它们的适配器,但我收到以下错误:系统服务在 oncreate() 之前对 Activity 不可用 选项卡的代码是:

  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 的适配器。 非常感谢。

最佳答案

如果您想将适配器传递给子 Activity ,您将需要某种全局共享对象。一种选择是将适配器传递给父 TabActivity 中的应用程序对象,然后在子 Activity 中检索它。

关于java - 如何从 TabActivity 中的外部 Activity 填充 ListView 适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10119142/

相关文章:

java - 如何找到正在执行的 ant 目标的名称?

android - popBackStackImmediate 从第 4 个 fragment 到第 2 个 fragment ?

android - 如何从android的onContextItemSelected中的 ListView 中获取所选视频的绝对路径?

android - monodroid许可问题

Java Jframe 向另一个 X Server 启动另一个 JFrame

java - 如何在几秒钟内更改和恢复 JTable 中的单元格背景?

java - Grails 3.3.2 域类继承问题

android - 使用 Opencv 从 Android 中的 CameraGLSurfaceView 拍照

android - 如何获取默认的 ProgressBar 可绘制对象?

java - 扫描仪在 while 循环中不返回新行