Ошибка в автозаполнении текста, когда введенный текст отсутствует в списке автозаполнения для Android

#android #database #autocompletetextview

#Android #База данных #autocompletetextview

Вопрос:

Я использую автозаполненный текст для поиска местоположения, которое было бы подключено к базе данных, и результат был бы показан. все работает нормально, когда введенный текст соответствует списку автозаполнения. Но когда я попытался ввести другой текст, которого нет в базе данных, приложение получит принудительное закрытие. вот мой код

 DataSPBU helper = new DataSPBU(this);
database = helper.getWritableDatabase();

   Cursor dbCursor = database.query(TABLE_NAME, new String[] {SPBU, Alamat, JenisBensin, FasilitasUmum}, Alamat   "=?",new String[] {lokasi}, null, null, null);
    if(dbCursor.moveToPosition(0)) {
        String namaSpbu = dbCursor.getString(0);
        String alamatSpbu = dbCursor.getString(1);
        String jenisSpbu = dbCursor.getString(2);
        String fasilitasSpbu = dbCursor.getString(3);
        namaSpbuEdit.setText(namaSpbu);
        alamatEdit.setText(alamatSpbu);
        jenisBensinEdit.setText(jenisSpbu);
        fasilitasEdit.setText(fasilitasSpbu); 
    }
    else {
        notFoundDialog = new AlertDialog.Builder(this)
        .setTitle("RESULT NOT FOUND")
        .setMessage("Hasil Tidak Ditemukan")
        .setNegativeButton("close", new AlertDialog.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                finish();
            }
        })
        .create();
        notFoundDialog.show();

    } 
  

//

любая помощь была бы высоко оценена.

Ответ №1:

Эй, чувак, когда вы вводите новый текст, сначала войдите в базу данных после извлечения данных, тогда приложение не закрывается принудительно. и данные также отображаются в коде автозаполнения текста::

 String s=Edittext.getText().toString();

db.insert(s);
  

после привязки данных к вашему ресурсу