使用ViewPager从片段选项卡中添加单独的片段
我在添加Fragment
之前添加Fragment
,除了Fragments
之外,我已链接到每个Tabs
。换句话说,我希望能够在Fragments
与ViewPager
之间滑动,但我不希望第一个Fragment
成为Tabs
之一。使用ViewPager从片段选项卡中添加单独的片段
我Adpater
为ViewPager
我Tabs
基本上是实例的谷歌给出on the Developers website.
我试着走在前面,并添加Fragment
我想从另一个单独的TabHost
作为一个选项卡,然后设置TabWidget
能见度在位置0处移动,尽管移除了TabWidget
,但当我滑动到其他位置时,位置0的选项卡仍然存在。这种方法也有点笨拙,我宁愿以更好的方式实现这一点。
我会分享一些代码,但大部分代码都发布在Developers网站上,但如果我需要的话,我会的。
我想我的应用程序中有类似的事情发生。我有一组actionbar选项卡,每个选项卡都有自己的片段。当您点击标签中的某些按钮时,将会启动另一个片段。显然你知道所有关于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
对不起,我忘了提及一些东西。我最初的实现(在我发送的SO链接中)试图让Chart成为一个片段。它实际上是一个扩展Activity的类。鉴于我想让它填满屏幕,事实证明,它使用与我打算用于图表片段相同的xml文件来扩展Activity,该解决方案运行得非常好。 – Davek804 2012-03-23 06:38:12
如果你不希望能够滑回到你的第一个标签,为什么你不只是从第一个'onTabChanged( )'然后调用'tabadapter.notifyDatasetChanged()'? – Reinier 2012-03-21 14:27:37