我有一个数据库有以下的列:SQLite-按钮增加价值db.query
Book_name
,book_id
,chapter_number
,chapter_id
,line_number
,line_id
我做这个应用程序读取书籍,选择要阅读的章节,然后显示所有行。
首先listview
显示所有的书籍,当用户选择一本书的名字,它传递给显示所有书插在章节book_id,选择一个章节时,它通过chapter_id
以显示章节下的所有行。
我的问题是,当用户忙于阅读时,他们必须按下后退按钮以再次显示所有章节,然后选择下一章节。我想在listview
上放一个按钮,显示用户按下的所有行(在选择章节后),然后它应该基本上重新查询数据库以显示下一个可用章节。
每个listview
都在它自己的活动中,并且id的获取与Intents一起传递。
我不知道你们想看什么代码,所以请问。
这是列表在DBHandler2
的章节:
public List<defineBybeldbAlles> getListHoofstuk(String boek_id_na_hoofstuk){
defineBybeldbAlles defineBybeldbHoofstuk = null;
List<defineBybeldbAlles> defineBybeldbAllesList = new ArrayList<>();
opendatabase();
Cursor cursor = mDatabase.rawQuery("SELECT * FROM PWLBybel WHERE " + COLUMN_BOEK_ID + " = '" + boek_id_na_hoofstuk + "'GROUP BY hoofstuk_id ORDER BY hoofstuk_id * 1 ASC", null);
cursor.moveToFirst();
while (!cursor.isAfterLast()){
defineBybeldbHoofstuk = new defineBybeldbAlles(cursor.getInt(0), cursor.getString(1),cursor.getString(2),cursor.getInt(3),cursor.getString(4),cursor.getInt(5),cursor.getString(6),cursor.getString(7),cursor.getInt(8),cursor.getString(9),cursor.getString(10));
defineBybeldbAllesList.add(defineBybeldbHoofstuk);
cursor.moveToNext();
}
cursor.close();
closeDatabase();
return defineBybeldbAllesList;
}
这是,我通过的chapter_id
在我的章活动到diplay线在行活动:
public void onItemClick (AdapterView<?> arg0, View view, int arg2, long arg3){
//on selecting a hoofstk
//BybelActivityVers will be launched to show verse inside
Intent hoofstukIntent = new Intent(BybelActivityHoofstuk.this,BybelActivityVers.class);
//send hoofstuk_id to VersActivity to get verse under that book
String hoofstuk_id_na_vers = ((TextView)view.findViewById(R.id.hoofstuk_id)).getText().toString();
hoofstukIntent.putExtra("hoofstuk_id", hoofstuk_id_na_vers);
String hoofstuk_nommer_na_vers = ((TextView)view.findViewById(R.id.custom_row_hoofstuktext)).getText().toString();
hoofstukIntent.putExtra("custom_row_hoofstuktext", hoofstuk_nommer_na_vers);
startActivity(hoofstukIntent);
}
});
现在这是为行列表在DBHandler3
:在当前章节
public List<defineBybeldbAlles> getListVers(String hoofstuk_id_na_vers){
defineBybeldbAlles defineBybeldbVers = null;
List<defineBybeldbAlles> defineBybeldbVersList = new ArrayList<>();
opendatabase();
Cursor cursor = mDatabase.rawQuery("SELECT * FROM PWLBybel WHERE " + COLUMN_HOOFSTUK_ID + " = '" + hoofstuk_id_na_vers + "'GROUP BY vers_id ORDER BY vers_id * 1 ASC", null);
cursor.moveToFirst();
while (!cursor.isAfterLast()){
defineBybeldbVers = new defineBybeldbAlles(cursor.getInt(0), cursor.getString(1),cursor.getString(2),cursor.getInt(3),cursor.getString(4),cursor.getInt(5),cursor.getString(6),cursor.getString(7),cursor.getInt(8),cursor.getString(9),cursor.getString(10));
defineBybeldbVersList.add(defineBybeldbVers);
cursor.moveToNext();
}
cursor.close();
closeDatabase();
return defineBybeldbVersList;
}
能否请您给我的例子DAT意图在我现在的代码中,它是怎么样的,我不是一个专家对不起 – FDupie