У меня есть действие по настройке, в котором есть два текстовых поля, которые принимают данные от пользователя, и эти значения затем сохраняются в файле базы данных. После нажатия кнопки сохранения эти значения сохраняются в базе данных, но когда я возвращаюсь к настройкамснова активными являются те ключевые слова, которые вводил пользователь, которых нет (они исчезают), но которые хранятся в базе данных. Я хочу установить текст этих текстовых полей в соответствии с тем, что вводил пользователь. Я пробовал, например, alarm.setText (db.getAlarm (). ToString ());в методе oncreate, но мое приложение падает. Все, что я хочу, чтобы мои ключевые слова оставались там (в текстовом поле) всякий раз, когда эта деятельность открыта или закрыта. Я также пытался сохранить состояние и т. Д., Но ничего не произошло. Заранее спасибо за помощь.
public class SettingsPage extends AppCompatActivity {
DatabaseHelper db;
EditText alarm , location , phone ;
String getPhone;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings_page);
}
public void saveClick(View view) {
db = new DatabaseHelper(this);
alarm = (EditText) findViewById(R.id.alarmTextBox);
location = (EditText) findViewById(R.id.locationTextBox);
phone = (EditText) findViewById(R.id.phoneTextBox);
String s1 = alarm.getText().toString();
String s2 = location.getText().toString();
String s3 = phone.getText().toString();
if (s1.isEmpty() || s2.isEmpty() || s3.isEmpty()) {
Toast.makeText(getApplicationContext(), "Fields are empty", Toast.LENGTH_SHORT).show();
} else {
if (db.checkContactExist(s3))
{
Boolean keys = db.insertkeys(s1, s2, s3);
if (keys == true)
{
Toast.makeText(getApplicationContext(), "Values Saved Successfully", Toast.LENGTH_SHORT).show();
finish();
//Toast.makeText(getApplicationContext(), s1, Toast.LENGTH_SHORT).show();
}
} else {
if (!db.checkContactExist(s3))
{
phone.setError("Incorrect Contact No");
} else
{
Toast.makeText(getApplicationContext(), "Values not saved", Toast.LENGTH_SHORT).show();
}
}
}
}
// cancel button
public void cancelClick(View view){
finish();
}
}
одна из функций моей базы данных -
public String alarm(){
String a ="";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery("Select alarm from keywords",null);
if(cursor.moveToFirst()){
a = cursor.getString(cursor.getColumnIndex("alarm"));
}
cursor.close();
return a;
}