【发布时间】:2015-09-03 12:23:34
【问题描述】:
基本上,
我正在使用slidingTabLayout 和slidingTabStrip
我有一个 ViewPager:
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:layout_weight="1"
></android.support.v4.view.ViewPager>
在我的 MainActivity.java 上填充了一个适配器:
private ViewPager pager;
private TabsViewPagerAdapter adapter;
private SlidingTabLayout tabs;
protected void onCreate(Bundle savedInstanceState) {
adapter = new TabsViewPagerAdapter(getSupportFragmentManager(),Titles,Numboftabs);
pager = (ViewPager) findViewById(R.id.pager);
pager.setAdapter(adapter);
tabs = (SlidingTabLayout) findViewById(R.id.tabs);
tabs.setDistributeEvenly(true);
tabs.setViewPager(pager);
}
TabsViewPagerAdapter 根据标签位置返回一个 Fragment:
public Fragment getItem(int position) {
if(position == 0)
{
PersonalTab tab1 = new PersonalTab();
return tab1;
}
else
{
GroupTab tab2 = new GroupTab();
return tab2;
}
}
最后,每个片段都包含这个简单的布局:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/personal_tab">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/textView"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
这些选项卡的渲染效果非常好并且可以正常工作。 现在我有两个问题,因为我是新手:
如何从主要活动访问此片段,以便更改内部 textView 文本?
万一可以访问到fragment,是更换fragment来改变数据还是动态改变里面的数据?
【问题讨论】:
标签: java android android-fragments android-5.0-lollipop material-design