1

我在stackoverflow中搜索了很多地方并发布了以下要求

在此处输入图像描述

单击button.....1应该显示......单击button再次2应该显示....单击button再次1应该再次显示!


这个循环应该继续下去

我只有使用 tabhost 和使用标签的建议....我不是在寻找我们在哪里使用不同的标签来启动不同的活动....

有任何想法吗 !

一个例子肯定会有所帮助

4

1 回答 1

1

活动不是为此而设计的,它们代表一个屏幕而不是屏幕的一部分。因此,它们不能包含在另一个屏幕中,您正在寻找的是Fragment您需要将代码从 Activity 移动到 Fragment,一旦您了解了 Activity 中 Fragment 的生命周期,这将是一个非常容易的重构。

至于屏幕切换,作为简单的布尔值跟踪正在显示的 Fragment 应该执行的操作,使用以下内容替换视图中的 Fragment:

boolean fragmentOneDisplayed = true;
button.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
    FragmentTransaction ft = activity.getFragmentManager().beginTransaction();
    Fragment newFragment = fragmentOneDisplayed ? new Fragment2() : new Fragment1();
    ft.replace(id of Fragment's placeholder in your Activity's layout , new Fragment);
    ft.commit();
    fragmentOneDisplayed = (newFragment instanceof Fragment1) ? true : false;
}
});
于 2013-10-13T12:50:15.307 回答