У меня есть действие, в котором я открываю базу данных, вызывая конструктор SQLiteOpenHelper.
dbHelper = new DBHelper(this); //DBHelper class extends SQLiteOpenHelper
Затем при нажатии кнопки я открываю другое действие и закрываю dbHelper.
int cuisineId = HelperUtils.getCuisineIdByName(dbHelper,cuisine);
SingletonGlobalClass.getInstance().setCuisineId(cuisineId);
String restaurantNameSearchStr = restaurantName.getText().toString().trim();
Intent intent = new Intent();
intent.setComponent(new ComponentName("ctnxa.android", ctnxa.android.SearchResultActivity"));
intent.putExtra("searchStr", restaurantNameSearchStr);
intent.putExtra("option", R.string.restaurant);
startActivity(intent);
dbHelper.close();
Теперь, когда я нажимаю кнопку «Назад», она возвращается к этому занятию.Когда я пытаюсь снова нажать кнопку поиска, он использует dbHelper и работает как обычно без каких-либо ошибок.Я ожидаю, что он не должен работать, так как dbHelper уже был закрыт ранее, и его можно восстановить только при вызове метода onCreate (), который в этом случае не вызывается, так как я нажимаю только кнопку назад (он должен вызватьonResume ()).Я действительно смущен.Может ли кто-нибудь объяснить, что здесь происходит?
Редактировать: так я реализовал dbHelper.close ()
@Override
public synchronized void close() {
super.close();
}