我一直在为我的应用程序使用微调器,但我不知道在哪里声明要在微调器中显示的项目,即我在string.xml或我的main_activity中声明它们是这样的。 。
String[] data = { "Hello", "There", "I", "Am", "Taking", "Values" };
最好使用哪种方法?为什么?
答案 0 :(得分:1)
在string.xml
中声明数组更好,因为:
答案 1 :(得分:1)
在strings.xml中的资源标签中声明值之后,如下所示:
<string-array name="spinner_values">
<item>a</item>
<item>b</item>
</string-array>
您可以在xml布局中的spinner标记中使用entrys属性,而不是在Java文件中以编程方式使用它。如下所示:
<Spinner
android:id="@+id/my_spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/spinner_values" />
答案 2 :(得分:0)
public void addItemsOnSpinner1() {
spinner1 = (Spinner) findViewById(R.id.spinner1);
List<String> list = new ArrayList<String>();
list.add("Small");
list.add("Medium");
list.add("Large");
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(dataAdapter);
}
public void addListenerOnSpinnerItemSelection() {
spinner1 = (Spinner) findViewById(R.id.spinner1);
apply = (Button) findViewById(R.id.apply);
spinner1.setOnItemSelectedListener(new CustomOnItemSelectedListener());
apply.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(String.valueOf(spinner1.getSelectedItem()).equals("Small"))
{
// your code
}
if(String.valueOf(spinner1.getSelectedItem()).equals("Medium"))
{
// your code
}
else if(String.valueOf(spinner1.getSelectedItem()).equals("Large"))
{
// your code
}
}
});
答案 3 :(得分:0)
如果spinner
的内容已修复,请在String.xml
中声明。最佳实践
答案 4 :(得分:0)
你应该在strings.xml中声明数组
<string-array name="data">
<item>Hello</item>
<item>There</item>
<item>I am</item>
<item>Taking</item>
</string-array>
并获取活动中的值
String [] array =getResources().getStringArray(R.array.data);