gpt4 book ai didi

android - fragment 中的选项卡 View

转载 作者:太空宇宙 更新时间:2023-11-03 13:54:10 25 4
gpt4 key购买 nike

我一直在尝试在 fragment 中使用选项卡 View ,但是通过导航栏访问它时出现了一些错误。第一次访问它时,我可以自由地从一个选项卡移动到另一个选项卡,但是再次访问时从另一个 fragment 到此页面,标签不再移动,我只卡在一个标签中,默认情况下只显示第一个标签。请帮助。

这是我的 BlankFragment3.java 代码:

public class BlankFragment3 extends android.support.v4.app.Fragment {

FragmentManager fragmentManager;
private MainActivity myContext;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}

@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
myContext= (MainActivity) activity;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view= inflater.inflate(R.layout.fragment_blank_fragment3, container, false);


ViewPager viewPager = (ViewPager) view.findViewById(R.id.viewpager);
viewPager.setAdapter(new SampleFragmentPagerAdapter(myContext.getSupportFragmentManager()));
PagerSlidingTabStrip tabsStrip = (PagerSlidingTabStrip)view.findViewById(R.id.tabs);
tabsStrip.setBackgroundColor(Color.parseColor("#333333"));
// Attach the view pager to the tab strip
tabsStrip.setViewPager(viewPager);
return view;
}
}

这是我的 fragment.xml:

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<include
android:id="@+id/toolbar"
layout="@layout/toolbar">
</include>

<com.astuetz.PagerSlidingTabStrip
android:id="@+id/tabs"
app:pstsShouldExpand="true"
app:pstsTextAllCaps="true"
app:pstsIndicatorColor="#ff9900"
android:textColor="#ffffff"
android:textSize="14sp"
app:pstsUnderlineColor="@android:color/white"
android:layout_width="match_parent"
android:layout_height="48dp">
</com.astuetz.PagerSlidingTabStrip>

<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white" />

</LinearLayout>

这是 SampleFragmentPagerAdapter.java 代码:

public class SampleFragmentPagerAdapter extends FragmentPagerAdapter {
final int PAGE_COUNT = 2;
private String tabTitles[] = new String[] { "Today's Deals", "Deals Close By" };

public SampleFragmentPagerAdapter(FragmentManager fm) {
super(fm);
}

@Override
public int getCount() {
return PAGE_COUNT;
}

@Override
public Fragment getItem(int position) {
if(position==0) {
return new TodaysDeal();
} else {
return new DealsCloseBy();
}
}

@Override
public CharSequence getPageTitle(int position) {
// Generate title based on item position
return tabTitles[position];
}
}

最佳答案

这样试试

public class HomeFragment extends Fragment {

ExpandableListAdapter listAdapter;
ExpandableListView expListView;
List<String> listDataHeader;
HashMap<String, List<String>> listDataChild;

private FragmentTabHost tabHost;

public HomeFragment(){}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

tabHost = new FragmentTabHost(getActivity());
tabHost.setup(getActivity(), getChildFragmentManager(), R.layout.my_parent_fragment);

Bundle arg1 = new Bundle();
arg1.putInt("Arg for Frag1", 1);
tabHost.addTab(tabHost.newTabSpec("Tab1").setIndicator("Tab1")),
FragmentA.class, arg1);

Bundle arg2 = new Bundle();
arg2.putInt("Arg for Frag2", 2);
tabHost.addTab(tabHost.newTabSpec("Tab2").setIndicator("Tab 2")),
FragmentB.class, arg2);


return tabHost;

}

XML

<android.support.v4.app.FragmentTabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"/>

<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>

</android.support.v4.app.FragmentTabHost>

关于android - fragment 中的选项卡 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31801375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com