从SQlite填充列表

时间:2011-09-12 20:26:47

标签: android

  

可能重复:
  Good Tutorial for SQLite and ListView

我正在尝试从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); 

2 个答案:

答案 0 :(得分:4)

尝试查看code hereSimpleCursorAdapter的使用方式。

答案 1 :(得分:0)

您已将sb设置为null,然后尝试分配给它的元素。这会崩溃。

使用ArrayList<String>代替,通过调用sb.add(cursor.getString(0))填充它。我很确定你不需要将它包装在引号和分隔符中。 ArrayAdapter<String>非常满意List<String>

编辑: @MisterSquonks回答胜过我。