zoukankan      html  css  js  c++  java
  • Android GridView 第一个Item 点击没反应

      @Override
        public View getView(final int position, View convertView, ViewGroup parent) {
            final ViewHolder viewHolder;
            final String path = list.get(position);
            if (convertView == null) {
                convertView = mInflater.inflate(R.layout.grid_child_item, null);
                viewHolder = new ViewHolder();
                viewHolder.mLinearLayout = (FrameLayout) convertView.findViewById(R.id.childLinearLayout);
                viewHolder.mImageView = (MyImageView) convertView.findViewById(R.id.child_image);
                viewHolder.mCheckBox = (CheckBox) convertView.findViewById(R.id.child_checkbox);
                convertView.setTag(viewHolder);
            } else {
                viewHolder = (ViewHolder) convertView.getTag();
                viewHolder.mImageView.setImageResource(R.drawable.friends_sends_pictures_no);
            }
    
            viewHolder.mLinearLayout.getLayoutParams().height = mGridView.getWidth() / 3;
    
            viewHolder.mImageView.setTag(path);
            viewHolder.mImageView.setOnMeasureListener(new MyImageView.OnMeasureListener() {
                @Override
                public void onMeasureSize(int width, int height) {
                    mPoint.set(width, height);
                }
            });
            viewHolder.mCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    addAnimation(viewHolder.mCheckBox, viewHolder.mImageView);
                }
            });
            viewHolder.mImageView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (viewHolder.mCheckBox.isChecked() || baseApplication.IsMaxCount() == false) {
                        if (viewHolder.mCheckBox.isChecked()) {
                            viewHolder.mCheckBox.setChecked(false);
                        } else {
                            viewHolder.mCheckBox.setChecked(true);
                        }
                        viewHolder.mCheckBox.setFocusable(false);
                    }
                }
            });
            if (baseApplication.fetchListPath().contains(path)) {
                viewHolder.mCheckBox.setChecked(true);
            } else {
                viewHolder.mCheckBox.setChecked(false);
            }
            Bitmap bitmap = null;
            if (!isScrollStatue()) {
                bitmap = NativeImageLoader.getInstance().loadNativeImage(path, mPoint,
                        new NativeImageLoader.NativeImageCallBack() {
                            @Override
                            public void onImageLoader(Bitmap bitmap, String path) {
                                ImageView mImageView = (ImageView) mGridView.findViewWithTag(path);
                                if (bitmap != null && mImageView != null) {
                                    mImageView.setImageBitmap(bitmap);
                                }
                            }
                        });
            }
            if (bitmap != null) {
                viewHolder.mImageView.setImageBitmap(bitmap);
            } else {
                viewHolder.mImageView.setImageResource(R.drawable.friends_sends_pictures_no);
            }
            return convertView;
        }
    要这样设置高度 viewHolder.mLinearLayout.getLayoutParams().height = mGridView.getWidth() / 3;
    否则第一个item点击没反应
  • 相关阅读:
    CODE[VS] 3026 恶心的扑克
    CODE[VS] 2951 打字比赛
    CODE[VS] 2774 火烧赤壁
    CODE[VS] 1860 最大数 1998年NOIP全国联赛提高组
    matplotlib学习笔记(一)
    LUNA16数据集(二)肺结节可视化
    [转载]pytorch自定义数据集
    [转载]什么情况下应该设置 cudnn.benchmark = True?
    pytorch构建优化器
    pytorch批训练数据构造
  • 原文地址:https://www.cnblogs.com/blogzhangwei/p/4155284.html
Copyright © 2011-2022 走看看