0
所以基本上,與Android ViewPager,片段和處理的東西里面
我使用的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);
}
The Ta bsViewPagerAdapter返回一個片段,根據標籤的位置:
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的文本?
如果可以訪問片段,是更好地替換數據更改的片段還是動態更改裏面的數據?
你的意思是通過調用我的片段內的函數?這很好,但我怎麼得到我的片段實例,所以我可以調用這個函數 - 將檢查你的鏈接! – user1214120
沒有。你可以從你的活動中調用findFragmentByTag。 您必須爲每個片段設置標籤,然後使用該標籤查找片段。 在上面的鏈接中用例子完全解釋。 –
你好!我實際上並沒有使用getFragmentByTag,而是遵循這個[回答](http://stackoverflow.com/a/15261142/1214120),它工作得很好。如果有任何使用這種方法的不利方面,知道:) – user1214120