[英]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.