除了Fragment
我已经链接到Fragments
的{{1}}之外,我在添加Tabs
时遇到了一些问题。换句话说,我希望能够在Fragments
和ViewPager
之间滑动,但我不希望第一个Fragment
成为Tabs
之一。
我的Adpater
ViewPager
和我的Tabs
基本上是Google给出的示例on the Developers website.
我已尝试继续添加Fragment
我希望与TabHost
中的另一个TabWidget
分开作为标签,然后将TabWidget
可见性设置为位置0处的GONE,尽管删除{{1}}时,当我滑动到任何其他位置时,位置0的标签仍然在那里。这种方法也有点笨重,我宁愿以更好的方式实现它。
我会分享一些代码,但大部分内容都发布在开发者网站上,但如果我需要,我会这样做。
答案 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