[英]Android ViewPager Layouts
我有一個帶有3個線性布局(layout1,layout2和layout3)的activity_main_layout。 在我的MainActivity中,我想在buttonClicks上顯示特定的布局。 就像如果單擊firstButton則顯示layout1,secondButton顯示layout2,thirdButton顯示layout3。 我正在使用viewPager實現此目的。 這是我的下面的代碼:
private class ViewPagerAdapter extends PagerAdapter {
@Override
public int getCount() {
return 3;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((View) object);
}
public Object instantiateItem(View collection, int position) {
int resId = -1;
switch (position) {
case 0:
resId = R.id.layout1;
Log.e(TAG, "layout1 called");
break;
case 1:
resId = R.id.layout2;
Log.e(TAG, "layout2 called");
break;
case 2:
resId = R.id.layout3;
Log.e(TAG, "layout3 called");
break;
}
return findViewById(resId);
}
@Override
public void destroyItem(View collection, int position, Object view) {
((ViewPager) collection).removeView((View) view);
}
}
layout1是默認設置,它在啟動MainActivity時顯示在屏幕上。
當我看到日志時,它將顯示
03-11 14:34:22.776 23506-23506/com.myapp.app E/MainActivity﹕ layout1 called
03-11 14:34:22.777 23506-23506/com.myapp.app E/MainActivity﹕ layout2 called
然后,當我單擊secondButton日志顯示layout3稱為
有什么想法嗎? 我正在嘗試實現此圖所示
ViewPager
將在初始加載時調用前2頁,並且在頁面更改時它將加載內存中的下一頁。
在您的情況下, layout1
和layout2
將在初始級別被調用,並且當您移至layout2
,它將加載layout3
。
您可以使用setOffScreenPageLimit()
增加此數字,但默認情況下它將一次加載2頁。
您可以參考這個關於你的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.