Я создал форму с помощью Spinner и сохранил все значения в SQLite Database, я получаю все сохраненные значения из базы данных, используя SQL Query и Model Class на Edit Text и Text Views но я не знаю, как мне получить выбранное значение базы данных на Spinner, которое хранится в Databbase?

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

 EditText  name = findViewById(R.id.name);
 EditText email = findViewById(R.id.email);
 EditText phone_no = findViewById(R.id.phone_no);    
 Spinner country = findViewById(R.id.country);

    name.setText(model.getname());
    email.setText(model.getemail());
    phone_no.setText(model.getphone());

Нет сообщений об ошибках, пожалуйста, помогите мне.

0
user11848379 15 Окт 2019 в 14:53
Вы должны setAdapter как ArrayList<String> для счетчика
 – 
Android Player
15 Окт 2019 в 14:58
Я уже сохранил значение в базе данных, но когда я собираюсь обновить страницу, все значения отображаются вместо счетчика.
 – 
user11848379
15 Окт 2019 в 15:00
Показать код, где загружается счетчик
 – 
Android Player
15 Окт 2019 в 15:02

2 ответа

Попробуй это:

    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener{
       @Override
       public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
         viewModel.setValue(position);
       }
   });

И в ViewModel:

private List<Item> list = // some array with values
private Item selected;

public void setValue(int position){
    selected = list.get(position);
}
0
Kishita Variya 15 Окт 2019 в 15:04

Вы можете сравнить значение, возвращаемое базой данных (я называю это значением в коде), и каждым элементом вашего счетчика и выбрать, что itam имеет тот же текст со значением

    String value = "getted value from db";

    Spinner spinner = findViewById(R.id.spinner);

    for (int i = 0; i < spinner.getAdapter().getCount(); i++) {
        if (value == spinner.getAdapter().getItem(i)) {
            spinner.setSelection(i);
        }
    }
0
Alireza aslami 15 Окт 2019 в 15:53