0

大きな問題があり、長い間デバッグしようとしましたが、エラーが発生しません。

リストビューがあり、パスがデータベースに保存されている写真をロードします。

すべて正常に動作しますが、問題が 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);

多分私はアダプターで何か間違ったことをしていますか?

4

0 に答える 0