android - 在android中设置微调器位置

标签 android spinner material-design

我将 MaterialBetterSpinner 库用于微调器,但无法设置到指定位置。

String[] LIST = {"Item1", "Item2", "Item3", "Item4", "Item5"};

MaterialBetterSpinner spinnerItem = (MaterialBetterSpinner) findViewById(R.id.spinnerItem);

ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, LIST);

String str = "Item3";
for(int i=0; i < adapter1.getCount(); i++) {
    if(str.trim().equals(adapter1.getItem(i).toString())){
        spinnerItem.setSelection(i);
        break;
    }
}

我得到以下异常

Caused by: java.lang.IndexOutOfBoundsException: setSpan (1 ... 1) ends beyond length 0

最佳答案

根据这个issue解决方案是使用 getText()

因此,您可以使用默认值来执行此操作

     String[] LIST = {"Item1", "Item2", "Item3", "Item4", "Item5"};

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_dropdown_item_1line, LIST);

        spinner1.setAdapter(adapter);
        spinner2.setAdapter(adapter);


        String str = "Item3";
        for(int i=0; i < adapter.getCount(); i++) {
            if(str.trim().equals(adapter.getItem(i).toString())){
                spinner2.setText(adapter.getItem(i).toString());
                break;
            }
        }

关于android - 在android中设置微调器位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33545426/

相关文章:

java - Android 将位图写入 SD 卡

html - Mat-table、mat-sort 无法正常工作

android - Android 中的提醒不会重复

android - 无法让 Roboguice Astroboy 示例工作

android - Azure Pipeline - 自动化 Android 版本代码

android - ProgressDialog 中没有进度微调器

objective-c - Objective-C : How to add spinner to navigation bar

android - 如何使项目角夹在微调器弹出窗口内?

javascript - 将数据传递给 mdDialog

Android Material Design 个人资料页面