Android字符串数组创建Id为的项
如何在android XML文件中创建如下选择列表:Android字符串数组创建Id为的项,android,Android,如何在android XML文件中创建如下选择列表: <select id="..t" name="..."> <option value="1">Excellent</option> <option value="2">Good</option> <option value="3">Average</option> <option value="4">Bad</opti
<select id="..t" name="...">
<option value="1">Excellent</option>
<option value="2">Good</option>
<option value="3">Average</option>
<option value="4">Bad</option>
<option value="5">Very Bad</option>
</select>
这个代码有效吗
<string-array name="...">
<item value="10">Excellent</item>
<item value="8">good</item>
<item value="5">Average</item>
....
</string-array>
如果有效,如何在java代码中获取所选项的值?您需要使用该方法,我认为value=在资源数组中无效
String[] arrayRes = getResources().getStringArray(R.array.*name of array*)
您可以在“活动”中调用getResources,但其他任何需要从上下文对象调用它的内容。由于数组索引的范围总是从0到n-1 n=项计数,并且您只能在资源中定义一维向量,因此不能将索引用作值。 至少,如果这些值是用来表示自定义值的,则不是 但是您可以使用并行数组,并通过使用公共索引将值连接到描述 这与ListPreferences的工作原理非常相似:
android:entries="@array/prefs_send_titles"
android:entryValues="@array/prefs_send_values"
您的资源中有两个不同的数组:一个用于描述,另一个用于值
要从所选项目中获取值,请声明一个整数以保存该值:
int value = 0;
使用前面提到的开关。。。案例:
由于数组索引的范围总是从0到n-1 n=item count,如果这些值是自定义的,则不能将索引用作值。但是你可以使用一个并行数组,并使用一个公共索引将值连接到描述中。对不起,我刚刚开始使用android。你能解释一下如何做到这一点吗?此外,该值存储在我的数据库和web应用程序中,因此我如何处理该值?然后用相同的值创建相同的项目,就像web应用程序一样。这篇文章如何回答OP的问题?我想OP是指数组项目的值,我猜他是指值=值。正如您所评论的,他只需要使用并行数组。一个有值,一个有。对不起,我刚刚开始使用android。你能解释一下如何做到这一点吗?此外,该值存储在我的数据库和web应用程序中,因此我如何处理该值?并创建具有相同值的相同项,就像我看到的web应用程序一样。您可以从Web检索数字并将其存储在数据库中。因此,您无法将值与索引关联。您可以在代码中实现这一点。可能使用开关来确定根据值检索哪个字符串。这意味着对于每个微调器,我必须为要显示的项目创建一个数组android:entries,并为每个项目的值创建一个数组android:entryValues,这些数组必须按顺序排列?我有一个从web获取数据的APi,然后这些数据需要显示为微调器选择的项目不完全相同。对于微调器,只有一个数组。项目顺序给出了索引。正如我所建议的,您可以使用一个开关将索引与一个值相关联——或者反之亦然,对于相反的操作——从微调器返回一个值,或者从一个值显示微调器所选的项。
@Override
public void onItemSelected
(
AdapterView<?> parent,View view, int position, long id
)
{
int pos = mySpinner.getSelectedItemPosition();
switch (pos)
{
case 0:
value = 5;
break;
case 1:
value = 8;
break;
case 2:
value = 11;
break;
}
}
try
{
int pos = 0;
switch(value)
{
case 5:
pos = 0;
break;
case 8:
pos = 1;
break;
case 11:
pos = 2;
break;
}
mySpinner.setSelection(pos);
}
catch(final Exception e)
{
mySpinner.setSelection(0);
}