我已经在string.xml文件中创建了各种字符串数组,并且必须根据Java中的某些条件将不同的数组设置为微调器的条目。这是可能的还是数据库是唯一的方法。提前致谢。如何在android中以编程方式设置微调器的条目?
回答
您需要使用适配器并在xml文件中填入tha数组。
在xml中指定数组的名称createFromResource方法(第二个参数)。
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.my_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mySpinner.setAdapter(adapter);
您可以从使用ArrayAdapter
开始,它是以编程方式填充微调项目的简单类。
String data[];
//... do your stuff to get populate this array
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_item, data);
mySpinner.setAdapter(spinnerArrayAdapter);
您还可以修改下拉项目的视图并通过覆盖此类别进一步对其进行自定义。
但是我的数据是在strings.xml档案。我如何得到它在java中的字符串arrray –
使用上下文类方法'getResources()。getStringArray(R.array.your_array)'获取字符串数组 –
啊!好的谢谢。 :D –
你必须从文件中提取数据:
String[] testArray = getResources().getStringArray(R.array.testArray);
然后,你有微调膨胀:
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_item, testArray);
mySpinner.setAdapter(spinnerArrayAdapter);
我的数据在string.xml文件中。我如何获得它到Java来填充它? –
你可以直接用我的答案来做。请看第一行的* createFromResource *方法 – adalPaRi
啊好的。谢谢您的帮助 –