У меня возникли проблемы с созданием базы данных и представлением данных в виде списка, и я совершенно не понимаю основные понятия.List View не отображает данные из базы данных Android
ListView, который я закодировал, ничего не отображает.
DataBase Вспомогательный класс (класс, который создает и управляет базой данных):
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