SQLite- 按钮增加价值 db.query
SQLite- button adds value to db.query
我有一个包含以下列的数据库:
Book_name
、book_id
、chapter_number
、chapter_id
、line_number
、line_id
我做这个app是为了看书,select一章看完,然后显示所有台词。
首先listview
显示所有的书,当用户select点击书名时,通过book_id显示该书下的所有章节,当select在一个章节中,它通过 chapter_id
来显示该章节下的所有行。
我的问题是,当用户忙于阅读时,他们必须按后退按钮才能再次显示所有章节,然后 select 下一章节。我想在 listview
上放置一个按钮,显示所有行(在章节被 selected 之后)供用户按下,然后它基本上应该重新查询数据库以显示下一个可用的章.
每个 listview
都在它自己的 activity 中并且 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
在我的章节activity中显示行activity:
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);
}
});
现在这是 列表 in 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;
}
设置当前章节中的变量chapterid + 1为intent传递
那么Intent i = new intent(PARAMETERS);
finish();
startactivity(i);
然后 运行 使用 db 查询以获取新意图中新章节的详细信息
它的工作谢谢
在您的问题中添加一个按钮。
检查列表是否滚动到最后
'
mListView.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
if (mListView.getAdapter() == null)
return ;
if (mListView.getAdapter().getCount() == 0)
return ;
int l = visibleItemCount + firstVisibleItem;
if (l >= totalItemCount && !isLoading) {
// It is time to add new data. We call the listener
isLoading = true;
}
}
});
'
何时加载为真 dat 意味着你的列表是最后一个
然后制作 nextbutton.setvisibility(View.Visible);
并点击按钮
获取您的章节 ID 并向其添加 1 即 .. 下一章 ID
并开始意图并通过 dat 意图传递章节和页面 ID,例如
Intent i = new Intent(this,Currentclass.java);
finish();
start activity(i);
// 你的页面现在将被改变
请勾选正确的答案谢谢:)
我有一个包含以下列的数据库:
Book_name
、book_id
、chapter_number
、chapter_id
、line_number
、line_id
我做这个app是为了看书,select一章看完,然后显示所有台词。
首先listview
显示所有的书,当用户select点击书名时,通过book_id显示该书下的所有章节,当select在一个章节中,它通过 chapter_id
来显示该章节下的所有行。
我的问题是,当用户忙于阅读时,他们必须按后退按钮才能再次显示所有章节,然后 select 下一章节。我想在 listview
上放置一个按钮,显示所有行(在章节被 selected 之后)供用户按下,然后它基本上应该重新查询数据库以显示下一个可用的章.
每个 listview
都在它自己的 activity 中并且 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
在我的章节activity中显示行activity:
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);
}
});
现在这是 列表 in 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;
}
设置当前章节中的变量chapterid + 1为intent传递
那么Intent i = new intent(PARAMETERS);
finish();
startactivity(i);
然后 运行 使用 db 查询以获取新意图中新章节的详细信息
它的工作谢谢
在您的问题中添加一个按钮。 检查列表是否滚动到最后
'
mListView.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
if (mListView.getAdapter() == null)
return ;
if (mListView.getAdapter().getCount() == 0)
return ;
int l = visibleItemCount + firstVisibleItem;
if (l >= totalItemCount && !isLoading) {
// It is time to add new data. We call the listener
isLoading = true;
}
}
});
'
何时加载为真 dat 意味着你的列表是最后一个
然后制作 nextbutton.setvisibility(View.Visible);
并点击按钮
获取您的章节 ID 并向其添加 1 即 .. 下一章 ID
并开始意图并通过 dat 意图传递章节和页面 ID,例如
Intent i = new Intent(this,Currentclass.java);
finish();
start activity(i);
// 你的页面现在将被改变
请勾选正确的答案谢谢:)