其他分享
首页 > 其他分享> > android – 当它的子项请求无效时,Gallery上的奇怪动画

android – 当它的子项请求无效时,Gallery上的奇怪动画

作者:互联网

这是我的Gallery的适配器,我在其上显示ImageViews(页面的拇指)

我想加载图像ASync(有时这可能来自网络),所以我做了那个代码:

    public View getView(int position, View convertView, ViewGroup parent) {
        final ImageView image = convertView != null ? convertView : new ImageView(getContext());

        final PageInfo page = getItem(position);

        image.setBackgroundColor(Color.WHITE);

        image.setLayoutParams(new Gallery.LayoutParams(96, 170));

        new AsyncTask<Void, Void, Bitmap>() {
            @Override
            protected Bitmap doInBackground(Void... arg0) {
                try {
                    File thumbnail = page.thumbnail();//Thumbnail download the image if not available
                    return BitmapFactory.decodeStream(new FileInputStream(thumbnail));
                } catch (ApplicationException e) {
                    return null;
                } catch (NetworkException e) {
                    return null;
                }
            }

            protected void onPostExecute(Bitmap result) {
                if (result == null)
                    return;

                image.setImageBitmap(result);
            };
        }.executeOnExecutor(executor);

        return image;
    }

这是有效的,但如果我拖动画廊的视图(当切换到真正的Bitmap时)做一个“跳”到厨房内的另一个位置,使它变得奇怪.

我怎么能避免这种情况?或者我可以在不请求ViewGroup布局的情况下更改ImageView的图像吗?

编辑:谷歌开发团体的类似问题
http://code.google.com/p/android/issues/detail?id=15526

解决方法:

Gallery小部件有一个已知错误,导致它始终返回null convertView.这意味着每次调用getView时,您都会创建一个新的ImageView,这可能会导致您看到的问题.

有一个第三方创建了修复回收错误的图库,在线搜索EcoGallery,您可以找到如何实现它.在滚动图库时,它会显着提高图形性能.

标签:android,android-imageview,android-image,android-view,android-gallery
来源: https://codeday.me/bug/20190716/1481732.html