我有一個arrayaadapter,我正在檢索圖像 的手機通訊錄號碼並將其顯示在列表中。Android:停止在列表視圖中重複圖像,性能問題
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if (view == null) {
LayoutInflater inflater = (LayoutInflater) (getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE));
view = inflater.inflate(renderer, null);
}
TextView text = (TextView) view.findViewById(R.id.name);
TextView textContNo = (TextView) view.findViewById(R.id.contactno);
TextView textEmailId = (TextView) view.findViewById(R.id.emailId);
Profile contact = listCont.get(position);
text.setText(contact.getName());
QuickContactBadge photo = (QuickContactBadge) view.findViewById(R.id.quickContactBadge1);
photo.setTag(contact.getMobileNo());
new LoadImage(photo).execute(contact.getMobileNo());
和加載使用的AsyncTask
class LoadImage extends AsyncTask<String, Void, Bitmap>{
private QuickContactBadge qcb;
public LoadImage(QuickContactBadge qcb) {
this.qcb= qcb;
}
@Override
protected Bitmap doInBackground(final String... params) {
activity.runOnUiThread(new Runnable() {
public void run() {
new QuickContactHelper(activity, qcb, (String) params[0]).addThumbnail();
}
});
return null;
}
@Override
protected void onPostExecute(Bitmap result) {
}
}
我面臨兩個問題在backgroundthread圖像,圖像被重複,而滾動卻並不順利 IAM試圖getview方法implemente viewholder,但不知道如何使用它或有任何其他方式來停止圖像重複。任何幫助表示讚賞
您目前的代碼正在工作?如果是的話,你會得到任何錯誤,然後發佈日誌 –
是的,我的正確代碼工作..沒有得到錯誤,但圖像重複和滾動is struckin – teekib
我有問題在這裏爲什麼你使用AsyncTask,因爲你在doInBackground然後使用runOnUiThread代碼總是在用戶界面上執行線程 –