0
我使用列表適配器顯示圖像視圖的數組。我動態地在程序中設置它們的ID。問題是,當我向右滾動適配器時,圖像只有在屏幕上顯示時纔會顯示其ID。當我再次向左滾動時,先前圖像的ID會重置爲新值。我怎麼能阻止這種行爲,並在活動開始時設置所有圖像的ID?同時在一個活動中加載所有視圖
工作原理如圖所示。舊圖像會得到一個新的ID,每當它被帶入活動屏幕時,就會通過舊ID訪問它。 我的形象適配器代碼:
public View getView(final int position, View convertView,ViewGroup parent)
{
final ImageView i = new ImageView(thView.getView().getContext());
Bitmap bm;
try {
bm = thView.getBitmapFromAsset(lis.get(position));
bm = Bitmap.createScaledBitmap(bm, 100, 100, false);
} catch (IOException e) {
e.printStackTrace();
bm=null;
}
i.setImageBitmap(bm);
final RelativeLayout borderImg = new RelativeLayout(thView.getView().getContext());
i.setId(x);
Log.w("ID set as",""+x);
i.setTag(IMAGEVIEW_TAG);
x++;
borderImg.addView(i);
i.setOnLongClickListener(new OnLongClickListener() {
public boolean onLongClick(View v) {
fname = lis.get(position);
ClipData.Item item = new ClipData.Item((CharSequence) v
.getTag());
dragData = new ClipData(
(CharSequence) v.getTag(),
new String[] { ClipDescription.MIMETYPE_TEXT_PLAIN },
item);
View.DragShadowBuilder myShadow = new MyDragShadowBuilder(i);
v.startDrag(dragData, myShadow, null, 0);
return false;
}
});
myDragEventListener mDragListen = new myDragEventListener();
i.setOnDragListener(mDragListen);
return borderImg;
}
}
我不確定活動如何左右滾動。你可以讓它更簡單或包含屏幕截圖或代碼。 –
發佈您的適配器代碼。 – dmon
@Saifuddin我的圖像適配器的基本工作。 – Andro