Android 更改ViewPager的计数
如何在单击上一页上的按钮后解锁滑动到新页的功能 目前我有一个PagerAdapter。下面的代码实例化了该项。在getCount()中,返回值3,从而生成3张幻灯片。我想知道是否有一种方法可以只显示3个视图,但单击一个按钮后,是否可以解锁现在可以滑动到的第4个视图Android 更改ViewPager的计数,android,android-viewpager,Android,Android Viewpager,如何在单击上一页上的按钮后解锁滑动到新页的功能 目前我有一个PagerAdapter。下面的代码实例化了该项。在getCount()中,返回值3,从而生成3张幻灯片。我想知道是否有一种方法可以只显示3个视图,但单击一个按钮后,是否可以解锁现在可以滑动到的第4个视图 @Override public Object instantiateItem(final View collection, int position) { final LayoutInflater infla
@Override
public Object instantiateItem(final View collection, int position) {
final LayoutInflater inflater = (LayoutInflater) TViewPager.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
TextView tv = new TextView(TViewPager.this);
//Describe the separate layouts of views
switch (position) {
case 1:
View v1 = inflater.inflate(R.layout.expander2, null, false);
((ViewPager) collection).addView(v1, 0);
final Button button = (Button) findViewById(R.id.button_click_me);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v1) {
Toast.makeText(getBaseContext(), "+1", Toast.LENGTH_LONG).show();
//*Some code*//
}
});
return v1;
有没有办法改变以下情况:
public int getCount() {
return 3;
}
像“setCount()”一样,然后将其放在//*some code*//位置以增加幻灯片的数量
会添加
instantiateItem(collection,4);
在什么地方工作
谢谢,
getCount
默认情况下返回ViewPager的子视图数。通过执行pager.add(布局项目)
可以将新项目添加到寻呼机中(当然,您必须首先在某个位置将其充气)getCount
将自动调整。以下是我解决此问题的方法。为了澄清这一点,您如何单击一个按钮并获得更多可以滚动的页面。我提出:
private int NUM_VIEWS = 2;
public void setN(int N) {
this.NUM_VIEWS = N;
}
然后我换了一条重要的线路
@Override
public int getCount() {
return NUM_VIEWS;
}
我的clickListener是
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v1) {
myAdapter.setN(3);
myPager.setCurrentItem(2);
}
});
我添加了另一个案例以方便新项目。之后,当我单击按钮时,我的pageadapter将扩展到3个视图,而不是2个视图,新的案例将是新视图。因此我尝试添加:((ViewPager)集合)。addView(v1,3);在click侦听器中,但它不起作用。你能再给我一点建议吗?你做了
notifyDatasetChanged()
吗?我试过了,但它崩溃了。我会在click listener中执行((ViewPager)collection).notifyDatasetChanged()所有操作。另外,它是add还是addview?这些方法属于哪个对象,集合的?