我在我的Activity和自定義SimpleCursorAdapter中有ListView。 自定義SimpleCursorAdapter看起來像這樣。自定義SimpleCursorAdapter錯誤
public class MySimpleCursorAdapter extends SimpleCursorAdapter {
private Activity activity;
private Cursor cursor;
public MySimpleCursorAdapter(Context context, int layout, Cursor c,
String[] from, int[] to, Activity activity) {
super(context, layout, c, from, to);
this.activity = activity;
this.cursor = c;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if (view == null)
view = View.inflate(this.activity,
com.tour.R.layout.third_level_list_item, null);
cursor.moveToPosition(position);
String hotelName=cursor.getString(cursor.getColumnIndexOrThrow(TodoDbAdapter.KEY_HOTEL));
String stars = cursor.getString(cursor.getColumnIndexOrThrow(TodoDbAdapter.KEY_ROW_STARS));
int numberOfStars = Integer.parseInt(stars);
TextView hotel = (TextView) view.findViewById(com.tour.R.id.hotel);
if (hotel != null)
hotel.setText(hotelName);
ImageView[] images = new ImageView[5];
images[0] = (ImageView) view.findViewById(com.tour.R.id.slika1);
images[1] = (ImageView) view.findViewById(com.tour.R.id.slika2);
images[2] = (ImageView) view.findViewById(com.tour.R.id.slika3);
images[3] = (ImageView) view.findViewById(com.tour.R.id.slika4);
images[4] = (ImageView) view.findViewById(com.tour.R.id.slika5);
for (int i = 0; i < numberOfStars; i++)
images[i].setVisibility(View.VISIBLE);
return view;
}
}
CustomSimpleCursor適配器設置好的如列表適配器。
代碼效果很好,酒店名稱還可以,星星也可以,但問題是滾動列表一段時間後,每個酒店都會獲得5顆星,而且我知道這是真的。
任何幫助如何管理從該數據庫列表視圖中的星星數量。 謝謝。
感謝的人......它的工作原理... :) – Markonato 2012-01-02 20:52:41