我使用此代碼從光標獲取項目,但它只是返回列表中的一個項目。那麼,我如何才能將所有項目都列入我的列表,這是我的代碼?從android中的光標獲取所有項目
class MyAdapter extends SimpleCursorAdapter
{
private Context context;
public MyAdapter(Context context, int layout, Cursor c, String[] from, int[] to)
{
super(context, layout, c, from, to);
this.context = context;
}
public View getView(int position, View convertView, ViewGroup parent){
Cursor cursor = getCursor();
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
View v = inflater.inflate(R.layout.sbooks_row, null);
TextView title = (TextView)findViewById(R.id.title);
if(title != null){
int index = cursor.getColumnIndex(SBooksDbAdapter.KEY_TITLE);
String type = cursor.getString(index);
title.setText(type);
}
TextView lyrics = (TextView)findViewById(R.id.lyrics);
if(lyrics != null){
int index = cursor.getColumnIndex(SBooksDbAdapter.KEY_LYRICS);
String type = cursor.getString(index);
lyrics.setText(type);
}
ImageView im = (ImageView)findViewById(R.id.icon);
if(im!=null){
int index = cursor.getColumnIndex(SBooksDbAdapter.KEY_FAVORITE);
int type = cursor.getInt(index);
if(type==1){
im.setImageResource(android.R.drawable.btn_star_big_on);
}
else{
im.setImageResource(android.R.drawable.btn_star_big_off);
}
}
return v;
}
嗨,我嘗試編輯我的代碼與您的意見。我使用newView(),bindView()函數,並返回所有項目。 但我仍然有問題在我的列表視圖中,它顯示不正常。我的意思是,當我將scollbar上下拖動時,它顯示不同。我可以忘記一些事嗎? – Dennie 2009-08-23 10:46:48
你是什麼意思的項目不正常顯示?如果您看到舊物品出現,而不是新物品(發生在我身上的普通適配器),則回收邏輯(bindView())應該存在問題。 P.S.I還建議您使用ViewHolder模式,如下所述:http://www.youtube.com/watch?v = N6YdwzAvwOA at 0:09:02。 – 2009-08-23 12:34:04
該視頻鏈接對於任何想了解ListView下發生了什麼的人都很有幫助。謝謝Dimitar! – 2010-08-20 21:25:30