使用ViewPager在Fragment选项卡中添加单独的Fragment

时间:2012-03-14 04:59:04

标签: java android android-fragments android-viewpager

除了Fragment我已经链接到Fragments的{​​{1}}之外,我在添加Tabs时遇到了一些问题。换句话说,我希望能够在FragmentsViewPager之间滑动,但我不希望第一个Fragment成为Tabs之一。

我的Adpater ViewPager和我的Tabs基本上是Google给出的示例on the Developers website.

我已尝试继续添加Fragment我希望与TabHost中的另一个TabWidget分开作为标签,然后将TabWidget可见性设置为位置0处的GONE,尽管删除{{1}}时,当我滑动到任何其他位置时,位置0的标签仍然在那里。这种方法也有点笨重,我宁愿以更好的方式实现它。

我会分享一些代码,但大部分内容都发布在开发者网站上,但如果我需要,我会这样做。

1 个答案:

答案 0 :(得分:0)

我想我的应用程序中发生了类似的事情。我有一组操作栏选项卡,每个选项卡都是自己的片段。单击选项卡中的某些按钮时,将启动另一个片段。显然你知道ViewPager,TabListener解决方案等等。但是我的解决方案启动了另一个填充整个屏幕的片段。当您按下(同时关注新片段)时,它会返回到您在操作栏选项卡活动中的位置。这是启动新片段的代码片段:

public class EconFragment extends Fragment {

private ViewGroup container;
private TableLayout questionContainer;
private ScrollView scrollView;
private ViewGroup econFragment;
private View[] questions;
static int pos = 0;
private String[] titles = {"The first title ", "hallo1","hallo2", "hallo3",
        "hallo4", "hallo5","hallo6", "hallo7","hallo8", "hallo9"};

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    Log.d("Econ", "onCreateView");
    this.container = container;
    return inflater.inflate(R.layout.econfragment, container, false);
}

public OnClickListener chartsListener = new OnClickListener() {
    public void onClick(View v) {
        Intent chart = new Intent();
        chart.setClass(getActivity(), Chart.class);
        chart.putExtra("key", titles[v.getId()]);
        Log.v("TAG", Integer.toString(v.getId()));
        startActivity(chart);
    }
};

如您所见,我启动了一个名为图表的新意图。然后将图表的类设置为Chart - 扩展片段。这是导致我实现此过程的堆栈溢出讨论:Start a fragment via Intent within a Fragment