我有一个选项卡式 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 (MapFragment
、SupportMapFragment
)和选项卡式指示器(TabLayout
、PagerTabStrip
等)
关于java - 在 android 中的 tabhost 内启动 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41911769/