相关疑难解决方法(0)

ViewPager PagerAdapter未更新视图

我正在使用兼容性库中的ViewPager.我已经巧妙地让它显示了几个我可以翻阅的视图.

但是,我很难弄清楚如何使用一组新视图更新ViewPager.

我已经试过各种事情就像调用mAdapter.notifyDataSetChanged(),mViewPager.invalidate()即使每次都创建我想用一个新的数据列表中的一个全新的适配器.

没有任何帮助,文本视图与原始数据保持不变.

更新: 我做了一个小测试项目,我几乎能够更新视图.我将粘贴下面的课程.

然而,似乎没有更新的是第二个视图,"B"仍然存在,按下更新按钮后应显示"Y".

public class ViewPagerBugActivity extends Activity {

    private ViewPager myViewPager;
    private List<String> data;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        data = new ArrayList<String>();
        data.add("A");
        data.add("B");
        data.add("C");

        myViewPager = (ViewPager) findViewById(R.id.my_view_pager);
        myViewPager.setAdapter(new MyViewPagerAdapter(this, data));

        Button updateButton = (Button) findViewById(R.id.update_button);
        updateButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                updateViewPager();
            }
        });
    }

    private void updateViewPager() {
        data.clear();
        data.add("X");
        data.add("Y");
        data.add("Z");
        myViewPager.getAdapter().notifyDataSetChanged();
    }

    private class MyViewPagerAdapter extends PagerAdapter {

        private …
Run Code Online (Sandbox Code Playgroud)

android android-viewpager

581
推荐指数
14
解决办法
35万
查看次数

Android:如何在单个xml文件中实现viewpager和视图

更新:我可以使用以下布局在Viewpager中实现3个文本视图:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">

    <android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

       <TextView
          android:layout_height="wrap_content"
          android:layout_width="wrap_content"
          android:text="view 1"/>
       <TextView
          android:layout_height="wrap_content"
          android:layout_width="wrap_content"
          android:text="view 2"/>
       <TextView
          android:layout_height="wrap_content"
          android:layout_width="wrap_content"
          android:text="view 3"/>

    </android.support.v4.view.ViewPager>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我想为这3个视图实现ViewPager.我希望在单个xml文件中有viewpager和那3个视图.每个页面都包含每个文本视图.我已经看到了一些示例,但每个页面都是使用单独的xml布局文件实现的.

如何在单个xml文件中为这3个视图实现viewpager.如果可能,请提供示例代码或示例.

android android-viewpager

17
推荐指数
2
解决办法
4万
查看次数

在Android中正确实现PagerAdapter

我在实现自定义PagerAdapter时遇到问题,并将其与ViewPager一起使用.此示例PagerAdapter有10个项目,每个项目都是一个按钮,其索引为文本.当我运行程序时,我看到一个文本"1"的按钮为"0".当我刷到其他项目时,我只得到空白视图.当我向后滑动时有时会看到一个带有一些数字的按钮,但它会消失(可能它正在破坏并将其从容器中移除),有时我会看到一个带有数字的按钮,但数字在刷卡后会发生变化(我认为我创建了一个新的Button,然后将其添加到容器中,由于某些原因,viewpager显示了这个新按钮.

我该如何解决这个实现?我没有看到例子中的差异.

我的PagerAdapter实现:

public class MyPagerAdapter extends PagerAdapter {

    @Override
    public int getCount() {
        return 10;
    }

    @Override
    public boolean isViewFromObject(View view, Object o) {
        return o.getClass()==view.getClass();
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        Button button = new Button(container.getContext());
        ViewGroup.LayoutParams params = new ActionBar.LayoutParams(-1,-1);
        button.setLayoutParams(params);
        button.setText(String.valueOf(position));
        container.addView(button);
        return button;
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView((Button)object);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的活动:

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); …
Run Code Online (Sandbox Code Playgroud)

java android android-viewpager android-pageradapter

11
推荐指数
2
解决办法
3万
查看次数

使用没有片段的页面适配器

是否可以不使用ViewPager碎片?我可以找到所有示例,将几个片段加载到ViewPager.

我想和它一样使用它ListView.我想创建一个自定义适配器,根据寻呼机所处的位置对布局进行充气.

如果有可能有人能指出我的一个例子吗?

android android-viewpager

6
推荐指数
2
解决办法
6861
查看次数

向后兼容的PageTransformer

我正在尝试为ViewPager中的项目设置动画,而PageTransformer符合要求.我希望它向后兼容Android 2.2所以我使用的是支持v4库.然而...

由于属性动画仅支持从Android 3.0开始转发,因此将忽略在早期平台版本上的> ViewPager上设置PageTransformer.

因此PageTransformer不适用于旧版本

我正在使用Jake Wharton的NineOldAndroids库,所以我可以使用该API,但我不确定如何为ViewPager做动画.

我怎么能这样做?

android android-animation android-viewpager nineoldandroids

1
推荐指数
1
解决办法
2193
查看次数