Android 更改ViewPager的计数

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

如何在单击上一页上的按钮后解锁滑动到新页的功能

目前我有一个PagerAdapter。下面的代码实例化了该项。在getCount()中,返回值3,从而生成3张幻灯片。我想知道是否有一种方法可以只显示3个视图,但单击一个按钮后,是否可以解锁现在可以滑动到的第4个视图

@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?这些方法属于哪个对象,集合的?