动态水平视图分页



hy!

我有一个显示用户个人资料(照片,年龄等)的活动。用户配置文件的计数是动态的(user_ids来自我的网络服务)。

该活动将使用额外的 (user_id) 调用,并从 Web 加载所有数据。

现在我想进行动态水平视图分页(视图计数是动态的)。例如,我使用 http://mobile.tutsplus.com/tutorials/android/android-user-interface-design-horizontal-view-paging/,但他只切换布局。

我的代码:

public class MyPagerAdapter extends PagerAdapter{
    private int cnt;
    public void setCount(int cnt)
    {
        this.cnt = cnt;
    }
    public int getCount() {
        return cnt;
    }
    public Object instantiateItem(View collection, int position) {
        LayoutInflater inflater = (LayoutInflater) collection.getContext()
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        //View view = inflater.inflate(resId, null);
        View v = new View (MyPagerAdapter.this);
        ((ViewPager) collection).addView(view, 0);
        return view;
    }
    @Override
    public void destroyItem(View arg0, int arg1, Object arg2) {
        ((ViewPager) arg0).removeView((View) arg2);
    }
    @Override
    public boolean isViewFromObject(View arg0, Object arg1) {
        return arg0 == ((View) arg1);
    }
    @Override
    public Parcelable saveState() {
        return null;
    }
}

请帮忙

PS:我也使用Greendroid库,但示例代码(https://github.com/cyrilmottier/GreenDroid/blob/master/GDCatalog/src/com/cyrilmottier/android/gdcatalog/PagedViewActivity.java)更难理解

我建议您从以下适配器开始:

private class PhotoSwipeAdapter extends PagedAdapter {
        @Override
        public int getCount() {
            return PAGE_COUNT;
        }
        @Override
        public Object getItem(int position) {
            return null;
        }
        @Override
        public long getItemId(int position) {
            return 0;
        }
        public View getView(int position, View convertView, ViewGroup parent) {
            if (convertView == null) {
                convertView = getLayoutInflater().inflate(R.layout.paged_view_item, parent, false);
            }
            ((TextView) convertView).setText(Integer.toString(position));
            return convertView;
        }
    }

它更像是你需要的那个。就像你看到的一样,getView 方法返回当前页面的特定视图。你可以用你喜欢的东西填充它。在上面的示例中,它是一个布局文件。您还可以根据代码创建布局,但使用布局文件会更容易!

哦,最后确定这个答案。(没有人知道你发给我的教程,请添加所有资源,即使它们只是链接或更难!只有当您添加所有内容时,我们才能为您提供最好的帮助)-> 你关注的教程不使用 GreenDroid 库,本教程使用 Androids 兼容性库。GreenDroid有一个额外版本的PageAdapter(如果我错了,请纠正我)。您应该始终关注并使用示例应用程序,您可以找到您使用的特定库。阅读教程中的所有详细信息也很重要 ->页面说"水平视图分页基于仅适用于 Android 兼容包 v4 修订版 3 的 API;这些 API 目前在标准 Android SDK 中不可用。"

最新更新