Как добавить выбранное по умолчанию значение в раскрывающемся списке Android

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

 StringBuilder strbuilder = new StringBuilder();
    ArrayList<String> arr_list = new ArrayList<String>();
    List<String> m = new ArrayList<String>();

    //This get the data values from database
    m = db.getData();

    int ms = m.size();
    String str = strbuilder.toString();

    String[] str1 = str.split(",");


    try {
        if (ms > 1) {

            //This is my default value
             m.add("Default Value");

            for (int i = 0; i < ms; i++) {

                m.get(0);
            }
        } else {
            m.get(0);

        }
    } catch (Exception e) {
        e.printStackTrace();

    }


    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_dropdown_item, m);
    dropdown.setAdapter(adapter);

В приведенных выше кодах можно добавить значения из базы данных в раскрывающийся список и добавить Default Value, но это не является выбранным значением.

Например, если значения из базы данных "Apple, Mango,Pineapple", а значение по умолчанию - "ALL FRUITS".

ОЖИДАЕМЫЙ ПРОСМОТР

ALL FRUITS Apple Mango Pineapple

Как я могу сделать значение по умолчанию выбранным значением? Спасибо заранее.

Ответ 1

Думаю, вам нужно под кодом.

    List<String> categories = new ArrayList<String>();
    categories = db.getData();
    categories.add(0,"your_default_value");
    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories);
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);     
    spinner.setAdapter(dataAdapter);
    spinner.setSelection(0);

Помните, когда вы хотите добавить любое значение к самому первому из Arraylist, вы просто делаете

 arraylist.add(0,"value");

Это добавит значение к самому первому индексу arraylist и удаляет все остальные элементы.

Если вам нужен какой-либо другой элемент, который будет выбран не первым,

 Spinner spinner = (Spinner) findViewById(R.id.spinner);
    List<String> categories = new ArrayList<String>();
    categories.add("Automobile");
    categories.add("Business Services");
    categories.add("Computers");
    categories.add("Education");
    categories.add("Personal");
    categories.add("Travel");
    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories);
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(dataAdapter);
    int i=categories.indexOf("Education");
    spinner.setSelection(i);

Ответ 2

Если значение по умолчанию всегда будет в индексе 0, просто получите ссылку на выпадающий список /spinner, а затем установите:

spinner.setSelection(0);

И вот приведенный ранее вопрос, подробно описывающий, как установить его по значению, если вы предпочтете это сделать. fooobar.com/info/32545/...