調用getView()我有一個ListView
這顯示每一行從互聯網上的圖像被拉入,和一個字符串。的Android - ListView控件 - 按需
一般來說它工作正常。但是,我想在視圖(行)膨脹時的方式上進行控制。默認情況下,當該行可見時,將調用適配器的getView()
方法。
這當然不是最好的行爲之一,因爲如果我有幾百記錄ListView
,我需要達到底部的那些,在滾動的ListView
,該getView()
方法將被調用爲每直到我到達頁腳。
所以我只想滾動後調用getView和ListView控件是暫停/空閒狀態,但我不知道如何去了解這一點:
下面是我開始:
listView.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if(scrollState==SCROLL_STATE_IDLE){
// Invoke get view only on visible items
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
}
});
這是我的適配器的getView:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.row, parent, false);
holder = new ViewHolder();
holder.title = (TextView) convertView.findViewById(R.id.textView);
holder.image = (ImageView) convertView.findViewById(R.id.imageView);
holder.position = position;
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.title.setText(data.get(position).getTitle());
holder.image.setImageResource(R.drawable.ic_launcher);
new LoadImageAsync(data.get(position).getUrl(), holder.image).execute();
return convertView;
}
請給我我應該在哪裏看,以實現一些方向:只有在滾動後調用getView(),只爲visib樂的項目。
檢查ApiDemos,部分高效適配器 – 2012-08-07 14:07:55
@TomislavNovoselec,謝謝你的提示。這是值得反思的。 – 2012-08-07 14:13:56