我正在尝试从SQLite填充ListView。我该怎么办??????在代码中。我需要构建一个String []还是有更好的解决方案吗?
Cursor cursor = assignment.numOfNewTask(empid);
String[] sb = null;
if (cursor.moveToFirst()) {
do {
for(int i=0; i<cursor.getCount(); i++){
????? sb [i]= "\"" + cursor.getString(0) + "\",";
}
} while (cursor.moveToNext());
}
list = (ListView)findViewById(R.id.list);
list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> adapterView, View v, int arg2,
long arg3) {
//startActivity(new Intent(v.getContext(), TaskDetail.class));
}
});
ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(this, R.layout.listitem, sb);
list.setAdapter(adapter2);
linear.addView(text);
setContentView(linear);
答案 0 :(得分:4)
尝试查看code here中SimpleCursorAdapter
的使用方式。
答案 1 :(得分:0)
您已将sb设置为null,然后尝试分配给它的元素。这会崩溃。
使用ArrayList<String>
代替,通过调用sb.add(cursor.getString(0))
填充它。我很确定你不需要将它包装在引号和分隔符中。 ArrayAdapter<String>
非常满意List<String>
。
编辑: @MisterSquonks回答胜过我。