大きな問題があり、長い間デバッグしようとしましたが、エラーが発生しません。
リストビューがあり、パスがデータベースに保存されている写真をロードします。
すべて正常に動作しますが、問題が 1 つ あります。たとえば、4 つのアイテムがある場合です。最初の 2 つは写真があり、最後の 2 つはありません。そのため、リストの最後のアイテムには常に、写真があった最後のアイテムの写真があり、その理由がわかりません。最後の要素のパスが含まれている可能性があるが空の場合は、データベースを調べました。
私のコードがあります:
SimpleCursorAdapter adapter;
adapter = new SimpleCursorAdapter(this, R.layout.my_listlayout,
MainController.getInstance().getMyCursor(db),
new String[] {"F1", "F2", "F3", "F4"},
new int[] {R.id.imageViewF1, R.id.textViewF2, R.id.textViewF3, R.id.textViewF4}, 0);
adapter.setViewBinder(new ViewBinder() {
public boolean setViewValue(View view, Cursor cursor, int columnIndex) {
if (columnIndex == 1) {
ImageView imageView = (ImageView) view;
String Pic = cursor.getString(1);
if (Pic != null) {
// load the picture in the view
imageView.setImageDrawable(...);
}
return true;
}
if (columnIndex == 2) {
//..
}
if (columnIndex == 3) {
//..
}
if (columnIndex == 4) {
//..
}
return false;
}
});
ListView view = (ListView)findViewById(R.id.listViewFirst);
view.setAdapter(adapter);
多分私はアダプターで何か間違ったことをしていますか?