Yus*_*Ali 6 android android-spinner
我Spinner在我的内部创建了一个元素LinearLayout.我想使值与可见值不同.我不想以编程方式执行此操作.我想使用下面的数组.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="select">
<item>a</item>
<item>b</item>
<item>c</item>
</string-array>
<integer-array name="selectValues">
<item>1</item>
<item>2</item>
<item>3</item>
</integer-array>
</resources>
Run Code Online (Sandbox Code Playgroud)
只是.如果a选择了项目,我想得到1整数.有什么办法?
<Spinner
android:id="@+id/sSelect"
android:layout_width="179dp"
android:layout_height="60dp"
android:layout_gravity="center"
android:entries="@array/select"
android:entryValues="@array/selectValues" />
Run Code Online (Sandbox Code Playgroud)
当我在上面使用以下时.
public void onItemSelected(AdapterView<?> item, View arg1, int sort,
long arg3) {
// TODO Auto-generated method stub
String selectedItem = item.getItemAtPosition(sort).toString();
}
Run Code Online (Sandbox Code Playgroud)
我只能将数据作为字符串而不是值.我可以获得可见的值.
小智 14
将选定的值保留为a TypedArray并访问onItemSelected()方法中的值.
// Keep the selected values as TypedArray
Resources res = getResources();
final TypedArray selectedValues = res
.obtainTypedArray(R.array.selectValues);
Spinner spinner = ((Spinner) findViewById(R.id.sSelect));
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
//Get the selected value
int selectedValue = selectedValues.getInt(position, -1);
Log.d("demo", "selectedValues = " + selectedValue);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4357 次 |
| 最近记录: |