Как получить выбранное значение в Spinner, используя класс Model? - PullRequest
1 голос
/ 15 октября 2019

Я создал форму с помощью 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());

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

Ответы [ 2 ]

0 голосов
/ 15 октября 2019

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

    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 голосов
/ 15 октября 2019

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

    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);
}
...