Như tôi đã đề cập, bạn cần thực hiện nhiều sửa đổi trong mã, nhưng hiện tại Bạn có thể làm cho mã của mình chạy bằng các thay đổi dưới đây:
Đầu tiên thay đổi phương thức getListChapter của bạn như bên dưới trong lớp DBHandlerChapter
public List<defineBybeldbHoofstuk> getListHoofstuk(String boek_id_vanaf_BybelActivityBoek)
{
defineBybeldbHoofstuk defineBybeldbHoofstuk = null;
List<defineBybeldbHoofstuk> defineBybeldbHoofstukList = new ArrayList<>();
opendatabase();
Cursor cursor = mDatabase.rawQuery("SELECT * FROM table_hoofstuk WHERE " + COLUMN_HOOFSTUK_BOEK_ID + " = '" + boek_id_vanaf_BybelActivityBoek + "'", null);/*(die tabel se naam)*/
cursor.moveToFirst();
while (!cursor.isAfterLast()){
defineBybeldbHoofstuk = new defineBybeldbHoofstuk(cursor.getInt(0), cursor.getInt(1),cursor.getInt(2));
defineBybeldbHoofstukList.add(defineBybeldbHoofstuk);
cursor.moveToNext();
}
cursor.close();
closeDatabase();
return defineBybeldbHoofstukList;
}
Bây giờ thay đổi hoạt động BybelActivityChapter của bạn bằng bên dưới
public class BybelActivityHoofstuk extends Activity
{
private ListView listviewHoofstuk;
private customAdapterHoofstuktext adapter_customAdapterHoofstuktext;
private List<defineBybeldbHoofstuk> defineBybeldbHoofstukList;
private DBHandlerHoofstuk DBHandlerHoofstuk_DBHelper;
private SQLiteDatabase mDatabase;
ArrayList<HashMap<String, String>> HoofstukList;
//Boek id
String boek_id_vanaf_BybelActivityBoek;
@Override
public void onCreate (Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bybel_hoofstuk);
listviewHoofstuk = (ListView) findViewById(R.id.BybelHoofstukListView);
DBHandlerHoofstuk_DBHelper = new DBHandlerHoofstuk(this);
//Check exists database
File Database = getApplicationContext().getDatabasePath(DBHandlerBoek.DBNAME);
if(false == Database.exists()){
DBHandlerBoek_DBHelperBoek.getReadableDatabase();
//Copy DB
if (DBHandlerBoek.copyDatabase(this)){
Toast.makeText(this, "Databasis Suksesvol", Toast.LENGTH_LONG).show();
}else {
Toast.makeText(this, "Databasis Probleem", Toast.LENGTH_LONG).show();
return;
}
}
DBHandlerHoofstuk_DBHelper.getReadableDatabase();
//Get boek id
Intent boekIntent = getIntent();
boek_id_vanaf_BybelActivityBoek = boekIntent.getStringExtra("boek_id");
//hashmap for listview
HoofstukList = new ArrayList<HashMap<String, String>>();
//Get bybel list in db when db exists
defineBybeldbHoofstukList = DBHandlerHoofstuk_DBHelper.getListHoofstuk(boek_id_vanaf_BybelActivityBoek);
//Init adapter
adapter_customAdapterHoofstuktext = new customAdapterHoofstuktext(this,defineBybeldbHoofstukList);
//Set adapter for listview
listviewHoofstuk.setAdapter(adapter_customAdapterHoofstuktext);
listviewHoofstuk.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener(){
@Override
public void onItemClick (AdapterView<?> arg0, View view, int arg2, long arg3){
//on selecting single track get vers text
Intent hoofstukid = new Intent(getApplicationContext(),BybelActivityVers.class);
//to get vers hoofstuk_id is needed
String hoofstuk_id = ((TextView)view.findViewById(R.id.hoofstuk_id)).getText().toString();
hoofstukid.putExtra("hoofstuk_id", hoofstuk_id);
startActivity(hoofstukid);
}
});
}
}