在我的情況下,我有一個列表視圖,並在一個項目上點擊一個ImageView將出現。但是,如果我向下滾動或向上,imageview將消失。我怎樣才能「保存」視圖的狀態? 感謝ListView破壞我的變化
- 編輯 - 這是我的適配器:
public class FeedListAdapterTab2 extends BaseAdapter {
private Activity activity;
private LayoutInflater inflater;
private List<FeedItemAbos> feedItems;
com.android.volley.toolbox.ImageLoader imageLoader = AppController.getInstance().getImageLoader();
View.OnClickListener onClickListener;
JSONParser jsonParser = new JSONParser();
FeedItemAbos item;
private long timestampLastClick;
private long doubleClickQualificationSpanInMillis;
private static final long DEFAULT_QUALIFICATION_SPAN = 200;
String quotesID;
TextView textViewQuotations;
//UNIVERSAL
private DisplayImageOptions options, optionsFeedImage;
private ImageLoadingListener animateFirstListener = new AnimateFirstDisplayListener();
public FeedListAdapterTab2(Activity activity, List<FeedItemAbos> feedItems, View.OnClickListener onClickListener) {
this.activity = activity;
this.feedItems = feedItems;
this.onClickListener = onClickListener;
//UNIVERSAL
options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.ic_stub)
.showImageForEmptyUri(R.drawable.ic_empty)
.showImageOnFail(R.drawable.ic_error)
.cacheInMemory(true)
.cacheOnDisk(true)
.displayer(new CircleBitmapDisplayer(Color.WHITE, 5))
.build();
//UNIVERSAL
optionsFeedImage = new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisk(true)
.build();
}
@Override
public int getCount() {
return feedItems.size();
}
@Override
public Object getItem(int location) {
return feedItems.get(location);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (inflater == null)
inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null)
convertView = inflater.inflate(R.layout.feed_item, null);
if (imageLoader == null)
imageLoader = AppController.getInstance().getImageLoader();
final ImageView imageViewLike = (ImageView) convertView.
findViewById(R.id.imageViewLike);
try {
item = feedItems.get(position);
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if ((SystemClock.elapsedRealtime() - timestampLastClick) < doubleClickQualificationSpanInMillis) {
Log.e("DOUBLE", "CLICK");
timestampLastClick = 0;
ID = String.valueOf(v.getId());
timestampLastClick = SystemClock.elapsedRealtime();
//
imageViewLike.setVisibility(View.VISIBLE);
Log.e("id", "nice " + v.getId());
}
});
}
return convertView;
}
上的convertview所以列表視圖的角度來看,會出現一個ImageView的「雙龍頭」。但是如果視圖不再顯示,imageview消失。
發佈您的代碼。所以每個人都很容易理解。 –