pagerAdapter 中的instantiateItem

发布于 2022-09-01 23:58:07 字数 939 浏览 13 评论 0

今天在处理viewpage时有个疑问如下代码:

@Override
    public Object instantiateItem(ViewGroup container, int position) {
        View view = LayoutInflater.from(mContext).inflate(R.layout.found_top_item, null);
        ImageView imageView = (ImageView) view.findViewById(R.id.found_top_image);
        //ImageView imageView = new ImageView(mContext);
        ImageCacheManager.loadImage(GetUrl.ImageUrl + MainActivity.imageList.get(position),
                ImageCacheManager.getImageListener(imageView, null, null), DensityUtils.dip2px(mContext, 180),
                DensityUtils.dip2px(mContext, 180));
        container.addView(imageView);
        Log.d("TAG","instantiateItem");
        return imageView;
    }

使用该代码当从第一个视图滑动到第二个视图会报java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.但使用注释代码的imageView就没问题
这是怎么回事?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

桜花祭 2022-09-08 23:58:07

要用非注释的代码应该是return view而不是return imageView啊

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文