use*_*088 4 android android-fragments
我正在尝试Android的新TabLayout类,在我的ActionBar下面添加两个标签.每个选项卡将托管不同的片段.
此外,我不希望能够在我的两个标签之间滑动 - 在我的标签之间导航,我希望能够只触摸我想要导航到的标签.
在我的MainActivity中,我有:
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);
tabLayout.addTab(tabLayout.newTab().setText("Newsfeed"));
tabLayout.addTab(tabLayout.newTab().setText("Random"));
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
// IDEALLY HERE, I'd like to do something like
// tab.setFragment(new MainFragment()).
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
}
Run Code Online (Sandbox Code Playgroud)
所以我想覆盖我的onTabSelected和onTabReselected方法,以便在两个选项卡之间切换导致分别显示两个不同的片段.我在网上找不到很多关于独立于ViewPager的新TabLayout.
有线索吗?谢谢!
@Override
public void onTabSelected(TabLayout.Tab tab) {
Fragment f=heyWhatFragmentGoesInThisTab(tab);
getFragmentManager()
.beginTransaction().replace(R.id.where_the_tab_contents_go, f).commit();
}
Run Code Online (Sandbox Code Playgroud)
你需要写的地方:
heyWhatFragmentGoesInThisTab()返回Fragment应根据所选选项卡显示的内容,以及
R.id.where_the_tab_contents_go,这是一个FrameLayout充当活动片段的容器
IOW,您可以更改片段以响应与更改片段TabLayout相同的方式,以响应操作栏项目单击,导航抽屉项目单击或任何其他GUI事件.
| 归档时间: |
|
| 查看次数: |
4427 次 |
| 最近记录: |