0
이미지를 선택하기 위해 gridview 및 gridviewadapter를 정의합니다. 2 개 이상의 이미지를 선택하면 모두 잘 작동합니다. 그러나 1을 선택하면 위치 = 1이 positon = 0의 이미지로 덮여 있으며 처음으로 이미지 1 개를 선택하는 경우에만 발생합니다.Android : ImageView.setImageResource가 gridviewadapter에서 올바르게 표시되지 않습니다.
@Override
public View getView(final int position, View convertView, final ViewGroup parent) {
L.d("mytest position ="+position+ "converView ="+convertView);
Holder holder;
if (convertView == null) {
holder = new Holder();
convertView = mInflater.inflate(R.layout.grid_view_item, null);
holder.mSelectImage = (NGImageView) convertView.findViewById(R.id.iv_icon);
convertView.setTag(holder);
} else {
holder = (Holder) convertView.getTag();
}
if (getData().size() > 0 && position != getData().size()) {
holder.mSelectImage.setVisibility(View.VISIBLE);
ImageItem imageItem = getData().get(position);
if (imageItem != null) {
if (imageItem.getImageUri().toString().startsWith("http")) {
loadNGImageView.LoadOptionsView(imageItem.getImageUri().toString(),holder.mSelectImage);
} else {
String imgUrl = BitmapUtil.IMAGE_URI_SUFFIX_SDCARD + imageItem.getImageUri().getPath();
L.d("mytest LoadOptionsView");
loadNGImageView.LoadOptionsView(imgUrl,holder.mSelectImage);
}
}
} else {
if (position == TopicPostFragment.DEFAULT_PHOTO_COUNT) {
holder.mSelectImage.setVisibility(View.GONE);
} else {
holder.mSelectImage.setVisibility(View.VISIBLE);
L.d("mytest setImageResource");
holder.mSelectImage.setImageResource(R.drawable.guild_icon_img);
}
}
return convertView;
}
error logs:
mytest position =0 converView =null
mytest setImageResource
mytest position =0 converView =android.widget.FrameLayout{42cd7de8 V.E.....
......I. 0,0-0,0 #7f0b0113 app:id/fl_item}
mytest setImageResource
......
mytest position =0 converView =android.widget.FrameLayout{42eabc00 V.E.....
........ 0,0-90,90 #7f0b0113 app:id/fl_item}
mytest LoadOptionsView
mytest position =1 converView =android.widget.FrameLayout{42cd7de8 V.E.....
......I. 0,0-0,0 #7f0b0113 app:id/fl_item}
mytest setImageResource
에러 표시 : enter image description here
정확한 표시 : enter image description here
XML 파일 : 흐르는는 어댑터의 getView()이다
setImageResource가에 setImageURL 사용할 수 없습니다<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fresco="http://schemas.android.com/apk/res-auto"
android:id="@+id/fl_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_gravity="center">
<ImageView
android:id="@+id/iv_icon"
android:layout_width="60dp"
android:layout_height="60dp"
android:scaleType="centerCrop"
/>
</FrameLayout>
xml보기 데이터를 표시하십시오. – Alexander
줄 holder.mSelectImage.setImageResource (R.drawable.guild_icon_img)를 바꿉니다. 코드로드 NGImageView.LoadOptionsView ("http://pic3.nipic.com/20090527/2488154_225452038_2.jpg", holder.mSelectImage); 모든 것이 잘됩니다. 이것은 setImageResource가 실제로 imageview에 이미지를 추가 할 수 없다는 것을 보여줍니다. 그 이유는 무엇입니까? – judyzha
@Alexander XML보기 데이터를 추가했습니다 ~ – judyzha