0

喂!

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

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

现在我想做一个动态水平视图分页(视图计数是动态的)。例如,我使用http://mobile.tutsplus.com/tutorials/android/android-user-interface-design-horizo​​ntal -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)比较难理解

4

1 回答 1

0

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

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 中不可用。”

于 2012-04-12T19:15:18.883 回答