android - 如何在android下拉列表中添加默认选择值

标签 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);

上面的代码能够将数据库中的值添加到下拉列表中,并且添加了默认值,但它似乎不是选定的值。

例如,如果数据库中的值为“Apple、Mango、Pineapple”,默认值为“ALL FRUITS”

预期下降

所有水果 苹果 芒果 菠萝

请问如何将默认值设为所选值?提前致谢。

最佳答案

我认为您需要以下代码。

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

关于android - 如何在android下拉列表中添加默认选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35367172/

相关文章:

Android 3D 曲面图

android - 点击 NFC 标签时创建的新程序实例

android - 从 TextView 获取文本

android - 图书馆项目需要 proguard.cfg 吗?

android - 在对话框中查看太小,截断文本

android - AdMob 地址验证 PIN - 错误的字母?

java - onPostExecute 被调用两次并显示双倍结果

android - Appium,Android - 在另一个元素中查找元素

java - 如何为 Web View 制作上下文菜单?

android - 为什么 Android+Kotlin 中 newStartIntent 的伴随对象?