如何遍历这组数据?
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
中会有另一个问题。
答案 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....