【问题标题】:Viewpager with large number of views or dynamic views具有大量视图或动态视图的 Viewpager
【发布时间】:2012-05-30 17:14:38
【问题描述】:

我想实现一个带有动态视图的 Viewpager,即当用户向左/向右轻拂/拖动视图时视图会自行更新。视图使用预存储数据库中的下一行更新。我该如何实现它? 我想这样做的原因是:我在 db 中有大约 3000 个条目,我想一次显示一个。我不能一次创建这么多视图。

【问题讨论】:

    标签: android android-layout android-intent android-emulator android-widget


    【解决方案1】:

    如下,希望对你有所帮助。

    public class BottomAdatper extends PagerAdapter {
    @Override
    public int getCount() {
        return 10000;
    }
    
    @Override
    public boolean isViewFromObject(View view, Object o) {
        return view == o;
    }
    
    ArrayList<TextView> caches = new ArrayList<>();
    
    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        caches.add((TextView) object);
        container.removeView((View) object);
    }
    
    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        TextView tv = null;
        if (caches.size() == 0) {
            tv = new TextView(container.getContext());
            tv.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
            tv.setGravity(Gravity.CENTER);
            tv.setTextSize(60);
            tv.setBackgroundColor(Color.YELLOW);
        } else {
            tv = caches.remove(0);
        }
        tv.setText("" + position);
        container.addView(tv);
        return tv;
    }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多