Ada*_*dam 20 android position file set spinner
我从系统文件中读取BufferedReader文本; 例如,该文本包含5个单词,但在另一个案例中,它可以包含更少或更多的单词.然后我将此文本(提到的单词)放入SINGLE字符串并将该字符串保存到共享首选项.然后我用这个字符串做了一个微调器.代码如下:
Spinner spinner = new Spinner(this);
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, yourString.split(" "));
spinner.setAdapter(spinnerArrayAdapter);
Run Code Online (Sandbox Code Playgroud)
然后我从另一个文件中读取文本.此文本始终包含一个单词.这个词与我从第一个文件中读取的一个单词相同(例如,如果我读到的第一个文件包含5个单词,其中一个单词是"黑色",那么我读到的第二个文件也是包含"黑色").我需要将这个特定的单词(存在于两个文件中)作为我的微调器中的默认选择选项.
例如:
第一个字符串包含:红色,蓝色,黄色,黑色,白色
第二个字符串包含:黄色
我从第一个字符串创建一个微调器,所以spinner中的选项填充如下:"红色,蓝色,黄色,黑色,白色",默认选择的选项是红色(因为它恰好是我的第一个字符串中的第一个),但在这种情况下,我需要将黄色设为默认选项,因为第二个字符串包含"黄色".两个字符串中的单词总是不同的.
BTW:我知道如何在微调器中保存位置,但如果我比较两个字符串并且其中一个包含更多单词,我不知道如何在微调器中设置位置.
Ada*_*dam 55
这是解决方案,感谢sfratini的帮助.
使用:
spinner.setSelection(getIndex(spinner, myString));
Run Code Online (Sandbox Code Playgroud)
然后:
private int getIndex(Spinner spinner, String myString){
int index = 0;
for (int i=0;i<spinner.getCount();i++){
if (spinner.getItemAtPosition(i).equals(myString)){
index = i;
}
}
return index;
}
Run Code Online (Sandbox Code Playgroud)
Har*_*edi 13
我认为这条线会对你有所帮助
String[] a= new String[10];
a[0]="abc";
a[1]="xyz";
a[2]="pqr";
.....
.....
spin = (Spinner) findViewById(R.id.TimeSpinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(TimeSpin.this, android.R.layout.simple_spinner_item, a);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)??;
spin.setAdapter(adapter);
spin.setSelection(0);
Run Code Online (Sandbox Code Playgroud)
小智 5
您不必使用 Adapter ... 您只需要将 String 数组转换为 List
然后使用indexOf(Object object)使用所选颜色获取旋转的索引
String [] strings = yourString.split(" ");
List<String> strList = new ArrayList<String>(Arrays.asList(strings));
//Or you can load array from xml...
//List<String> strList2 = Arrays.asList(getResources().getStringArray(R.array.array_color));
spinner.setSelection(strList.indexOf("colorvalue"));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56440 次 |
| 最近记录: |