-1

我正在使用 SimpleCursorAdapter 从 SQLite 数据库中检索数据,并使用自定义布局和列表视图来显示数据库中的两个字符串。现在我有两个问题:

  1. 如果我想根据特定条件在特定行中显示星号,是否必须创建自定义适配器?我已在自定义布局中将图像设置为不可见,并希望根据行数据本身的某些条件将其设置为可见。我实现了所有选项卡以及收藏选项卡,并且一切正常,我只需要星形图标。我也面临这个问题,将食谱图像放到特定的行中。

  2. 在列表视图中动态获取图像的最佳方法是什么?我遵循了惰性图像教程,但我不知道如何使用 CustomCursorAdapter 来实现它,因为它是使用 baseadapter 实现的。有哪些指向带有简单光标教程的延迟加载图像的链接?

 

public class AlternateRowCursorAdapter extends SimpleCursorAdapter{
    int layoutn;
    Cursor mCursor;
    String[] fromn;
    int[] ton;

    LayoutInflater mInflater;

    private int[] colors = new int[] { Color.parseColor("#000000"), Color.parseColor("#303030") };

    public AlternateRowCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to) {
        super(context, R.layout.listtype, c, from, to);
        this.mCursor = c;
    }

    /**
     * Display rows in alternating colors
     */
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        View view = super.getView(position, convertView, parent);

        ImageView star = (ImageView)view.findViewById(R.id.favoritesicon); // The star I want to show

        if (mCursor.getString(8) == "YES") // shows if the item is in favorites
        {
            star.setVisibility(view.VISIBLE);
        }

        int colorPos = position % colors.length;
        view.setBackgroundColor(colors[colorPos]);

        return view;
    }
}
4

1 回答 1

1

我必须创建自定义适配器吗?

是的,您必须创建一个自定义适配器并在您的行中添加一个星号......

在列表视图中动态获取图像的最佳方法是什么?

我认为您应该使用通用图像加载器。请参阅GitHub项目Universal Image Loader for Android

于 2012-04-21T08:59:25.373 回答