2011-09-07 26 views
0
public View getView(int position, View convertView, ViewGroup parent) { 
... 
     boolean flag = db.isRegistered(contactId_text); 

     ImageView iv = (ImageView) vi.findViewById(R.id.typeImage); 
     if (flag) { 

      holder.image1.setImageResource(R.drawable.registered); 
     } 
... 
} 

以上是我在getView()中的代碼塊。 db.isRegistered(contactId_text)方法是一個需要一些時間才能得到結果的查詢,所以它滯後於我的listview滾動屏幕,處理這個問題的好方法是什麼?我嘗試了AsyncTask,但是當列表變得太長時,你得到了AsyncTask限制錯誤(忘記了異常名稱)。Android處理在CursorAdapter中花費時間的查詢getView()

回答

0

好的解決了!我使用MatrixCursor來形成我自己的自定義光標,然後將此光標設置在listadapter上。

+0

唯一的問題是存在性能問題。 – Maurice