2012-07-16 139 views
0

我用游标创建了一个数据库。我想在列表视图中显示它。这是我的活动文件:SQLite数据库列表视图

package com.ucas.course; 

import java.util.List; 

import org.w3c.dom.Comment; 

import android.app.Activity; 
import android.app.ListActivity; 
import android.os.Bundle; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 
import android.widget.SimpleCursorAdapter; 
import android.widget.TextView; 

public class SQLView extends ListActivity { 

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.list_example); 
     UCAS info = new UCAS(this); 
     info.open(); 
     String values = info.getData(); 
     info.close(); 
     AString[] columns = new String[] {UCAS.KEY_UNIVERSITY}; 
     int[] to = new int[] { R.id.name_entry, R.id.number_entry }; 
     startManagingCursor(c); 
     SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, R.layout.sqlview, c, columns, to); 
     this.setListAdapter(mAdapter); 

} 



} 

目前除了没有错误从一个光标错误“在fillWindow()无效的声明”,我不知道是否有什么与我的问题,但是当我开始活动,我只是得到一个空白屏幕

public Cursor getData() { 
    // TODO Auto-generated method stub 
    String[] columns = new String[]{KEY_ROWID, KEY_UNIVERSITY, KEY_OFFER}; 
    Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null); 


    return c; 
} 
+0

数itmes和“到”必须等于!另外游标应该包含“_id”列(我假设这是你的KEY_ROWID列)。 – 2012-07-17 10:11:30

+0

我已将它们更改为此String []列=新字符串[] {UCAS.KEY_ROWID,UCAS.KEY_UNIVERSITY,UCAS.KEY_OFFER}; \t int [] to = new int [] {R.id.KEY_ROWID,R.id.KEY_UNIVERSITY,R.id.KEY_OFFER};我认为这就是你的意思,但我仍然得到的错误,没有任何显示 – user1261404 2012-07-17 10:26:56

回答

1

列表可以和你的情况应该使用游标来支持他们的数据。你没有理由建立一个结果字符串来保存你的查询值。您可以将光标直接传递给适配器。

public String getData() { 
    String[] columns = new String[]{KEY_ROWID, KEY_UNIVERSITY, 
     KEY_COURSE, KEY_UCAS, KEY_SATISFACTION, KEY_EMPLOYED, 
     KEY_OFFER, KEY_OTHER}; 

    Cursor c = ourDatabase.query(DATABASE_TABLE, 
     columns, null, null, null, null, null); 

    return c; 

} 

一旦你的光标,将其绑定到使用SimpleCursorAdapter的ListActivity。

+0

嗨感谢,这是有用的,但现在我已经打了另一堵墙我编辑了上面的帖子与更多的信息和我的新脚本 – user1261404 2012-07-17 09:54:38

0

有微小的变化给你的函数在“列”

public String getData() { 
    String[] columns = new String[]{KEY_ROWID, KEY_UNIVERSITY, 
     KEY_COURSE, KEY_UCAS, KEY_SATISFACTION, KEY_EMPLOYED, 
     KEY_OFFER, KEY_OTHER}; 

    Cursor c = mDBHelper.getReadableDatabase.query(DATABASE_TABLE, 
     columns, null, null, null, null, null); 

    return c; 

} 
+0

我仍然没有得到任何和fillWindow ()错误 – user1261404 2012-07-17 10:13:34

+1

您的活动的onDestroy方法关闭游标 – 2012-07-17 10:35:33

+0

如何关闭游标?对不起,我是新东西 – user1261404 2012-07-17 10:40:02

相关问题