我正在使用兼容性库中的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) Viewpager在Android中使用,是否可以以编程方式将任何页面移动到最后?例如,我有五页并希望将页面#2移动到最后一个位置(第五个位置),因此第3页变为2,4,变为3,5变为4?
谢谢