为什么我的ViewBinder显示最后一个元素错误?

时间:2013-05-04 12:02:03

标签: android

我遇到了一个大问题,我试图长时间调试它,但我无法得到错误。

我有一个Listview并用图片加载它,其中Path保存在数据库中。

一切正常,但我有一个问题: 如果我有例如4项。前两个有图片而后两个没有。所以列表中的最后一项总是有最后一项有图片的图片,我无法弄清楚原因。我查看了数据库中是否有最后一个元素的路径,但它是空的。

有我的代码:

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);

也许我在适配器上做错了什么?

0 个答案:

没有答案