我已经实现了TabHost。在一个选项卡中,我有Activity1,它在点击一个按钮后调用Activity2,点击一个按钮后调用Activity3,点击按钮后调用Activity1等。不需要任何反向堆栈功能,只需1 - > 2 - > 3 - >所有三个活动都有一个单独的布局文件。
一切正常,除了从1开始的第一次转换之后 - > 2活动抓住整个屏幕,标签永远隐藏。
问题:如何将这三项活动保持在de tab区域的限制范围内,并且可以看到标签?这个问题以前已经多次被认识到了;过去的解决方案是ActivityGroups,但不推荐使用这些解决方案,而是建议使用Fragments。我在这里看到了很多例子,但没有什么可以帮助我。
请你给我一些提示我应该怎么做?如果你告诉我需要使用哪些类以及它们是什么类型,我已经得到了帮助。
提前致谢。
答案 0 :(得分:0)
我花了半天多的时间,但终于找到了一个有效的解决方案。不幸的是,我仍然坚持使用已弃用的问题(Activity Group和getLocalActivityManager()。startActivity(..))。
我再次在TabHost下有一个标签和几个活动,都在该标签内操作。通过按钮点击进行从一个活动到下一个活动的导航。解决方案:
所有在标签中运行的活动都需要扩展ActivityGroup
所有活动类都需要一个按钮处理程序,链接到下一个活动,如下所示:
public void onBtnClicked(View view){ Intent intent = new Intent(view.getContext(),NextActivity.class); replaceContentView(“NextActivity”,intent); }
public void replaceContentView(String id,Intent newIntent){ View view = getLocalActivityManager()。startActivity(id,newIntent。 addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))getDecorView(); this.setContentView(视图); }
根据需要,标签始终可见。 希望这有助于某人。