我在創建數據庫和在列表視圖中顯示數據時遇到了問題,我對核心概念還不太清楚。列表視圖不顯示數據庫中的數據Android
我編碼的ListView不顯示任何內容。
數據庫Helper類(其中創建和管理數據庫類):
public class DBController extends SQLiteOpenHelper{
private static final String DATABASE_NAME = "quiz.db";
private static final String TABLE_NAME = "questions";
//DATABASE COLUMNS
private static final String COL1 = "que";
private static final String COL2 = "opta";
private static final String COL3 = "optb";
private static final String COL4 = "optc";
private static final String COL5 = "ans";
public DBController(Context applicationcontext) {
super(applicationcontext, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase database) {
String query;
query = "CREATE TABLE IF NOT EXISTS "+TABLE_NAME+" (_id INTEGER PRIMARY KEY AUTOINCREMENT, "+COL1+" TEXT, "+COL2+" TEXT, "+COL3+" TEXT,"+COL4+" TEXT,"+COL5+" TEXT);";
database.execSQL(query);
}
@Override
public void onUpgrade(SQLiteDatabase database, int version_old, int current_version) {
String query;
query = "DROP TABLE IF EXISTS questions";
database.execSQL(query);
onCreate(database);
}
public void insertQuestion(Datas data)
{
this.getWritableDatabase().rawQuery("INSERT INTO "+TABLE_NAME+"("+COL1+","+COL2+","+COL3+","+COL4+","+COL5+") VALUES('"+data.getQuestion()+"','"+data.getOptionA()+"','"+data.getOptionB()+"','"+data.getOptionC()+"','"+data.getAnswer()+"');", null);
}
public Cursor getAllData()
{
return this.getWritableDatabase().rawQuery("SELECT * FROM "+TABLE_NAME, null);
}
}
的代碼,我加入到顯示的ListView如下,
我只添加OnCreate()
方法活動類別:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_questions);
DBController db = new DBController(getApplicationContext());
int from[] = {android.R.id.text1,android.R.id.text2};
String to[] = {"que","ans"};
SimpleCursorAdapter sdp = new SimpleCursorAdapter(this,android.R.layout.simple_list_item_1,db.getAllData(),from,to,0);
ListView lv =(ListView) findViewById(R.id.listView1);
lv.setAdapter(sdp);
}
你檢查過,如果db.getAllData()返回任何東西? –
嘗試將'android.R.layout.simple_list_item_1'更改爲自定義列表項。引用http://stackoverflow.com/questions/35728510/android-data-is-allocated-in-spinner-but-when-selected-not-showing-the-value-in/35728825#35728825 – ELITE