java - 在 android 中的 tabhost 内启动 Activity

标签 java android android-activity

我有一个选项卡式 Activity ,如下所示。我需要在第一个选项卡(“搜索”)中调用扩展 FragmentActivity 的 MapsActivity。任何解决此问题的帮助都会有所帮助。

public class TabbedActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tabbed);

        TabHost tab = (TabHost) findViewById(R.id.tabHost);
        tab.setup();

        TabHost.TabSpec spec1 = tab.newTabSpec("Search");
        spec1.setIndicator("Search");
        spec1.setContent(R.id.layout1);
        tab.addTab(spec1);

        TabHost.TabSpec spec2 = tab.newTabSpec("Settings");
        spec2.setIndicator("Settings");
        spec2.setContent(R.id.layout2);
        tab.addTab(spec2);
    }
}

尝试了此解决方案,但显示错误“MapsActivity 不是封闭类”

tab.addTab(tab.newTabSpec("Search")
    .setIndicator("Search")
    .setContent(new TabHost.TabContentFactory() {

    public View createTabContent(String tag) {
        return new TextView(MapsActivity.this);
    }
}));

最佳答案

选项卡中的 Activity 作为一种技术已被弃用近六年

做点别的事情,比如:

  • FragmentTabHost,包含选项卡 fragment ,例如 MapFragment

  • ViewPager,带有页面 fragment (MapFragmentSupportMapFragment)和选项卡式指示器(TabLayoutPagerTabStrip 等)

关于java - 在 android 中的 tabhost 内启动 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41911769/

相关文章:

java - 如何访问数组的元素并且该数组是 ArrayList 的元素?

java - 根据数据库验证 hibernate 映射文件的所有差异

android - 如何检测另一个应用程序的存在?

android - 在服务和 Activity 之间传递参数

java - 打开 Activity 期间应用程序崩溃

android - Android应用程序中的动态流程

ubuntu - ubuntu 上 java 的 Systemtap

Java导入不公开的自定义类

android - 小部件图标下方的 Android AppWidget 标题

android - 尝试构建 RealmConfiguration 时,Realm 导致我的应用程序崩溃