处理来自SQLite / Android的数据

时间:2012-01-25 10:58:38

标签: android sqlite simplecursoradapter

如何遍历这组数据?

 String[] from = new String[]{AppSQLite.KEY_NAME,AppSQLite.KEY_ICON};
 int[] to = new int[]{R.id.main_menu_list_item);

我想将它们传递给自定义的简单游标适配器并覆盖getView()以便这样做 KEY_NAME是文本(可能带有setText)和

   setCompoundDrawablesWithIntrinsicBounds(**KEY_ICON**, 0, 0, 0);

我的getView是这样的:

public View getView(int pos, View convertView, ViewGroup parent){
    View v = convertView;
    if(v == null){
        LayoutInflater inflater = (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        v = inflater.inflate(R.layout.icon_list_item, null);
    }
    this.c.moveToPosition(pos);     
    String name= this.c.getString(this.c.getColumnIndex(AppSQLite.KEY_NAME));
    String icon= this.c.getString(this.c.getColumnIndex(AppSQLite.KEY_ICON));

    TextView mName= (TextView) v.findViewById(R.id.icon_textView);
    bTitle.setText(name);

    mName.setCompoundDrawablesWithIntrinsicBounds(icon, 0, 0, 0);
    return v;

在我的数据库中,图标采用以下形式:

R.drawable.menu_icon TEXT

所以我认为将值放在setCompoundDrawablesWithIntrinsicBounds中会有另一个问题。

1 个答案:

答案 0 :(得分:0)

icon参数是整数,而不是字符串。从您的代码中,您似乎传递了一个字符串,这应该会给您一个编译错误。

更新:在数据库中存储一些字符串,并编写逻辑以加载不同的drawable。

存储这些,icon_1,icon_2,icon_3

if(icon_1){
   use R.drawable.icon_1;
else if(icon_2)
   use R.drawable.icon_2;
and so on....