微调添加字符串数组项目选择如何能得到在Android的项目相关的值项目、数组、字符串、Android

2023-09-05 23:42:04 作者:视作业如凤姐i

我开发一款微调此微调我是字符串数组

 微调=(微调)this.findViewById(R.id.mlg);
最后的CharSequence [] itemArray = getResources()getTextArray(R.array.RectBeam)。
最后的名单,其中,为CharSequence> ITEMLIST =新的ArrayList< CharSequence的>(Arrays.asList(itemArray));
适配器=新的ArrayAdapter(这一点,android.R.layout.simple_spinner_item,ITEMLIST);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spinner.setAdapter(适配器);
spinner.setOnItemSelectedListener(新OnItemSelectedListener(){

公共无效onItemSelected(适配器视图<>母公司视图中查看,
INT POS,长I​​D){
Toast.makeText(parent.getContext(),这颗行星是+
parent.getItemAtPosition(POS)的ToString(),Toast.LENGTH_LONG).show();

}
 

...........

 <字符串数组名=RectBeam>
<项目价值=3000000>钢铁和LT; /项目>< /字符串数组>
 

这是微调相关的字符串数组我是让我使用parent.getItemAtPosition(POS)的ToString(微调项),完成了我的问题是特定项目的价值如何能得到

 例如:钢铁-----------> 300万
 
eclipse如何导入Android项目

解决方案

我不知道任何微调允许XML字符串,属性值或没有,但你的问题是可以解决的是这样的。

在创建两个数组的 array.xml 文件,如:

 < XML版本=1.0编码=UTF-8&GT?;
<资源>
    <字符串数组名=项目>
        <项目>诺基亚1200 LT; /项目>
        <项目>诺基亚1600 LT; /项目>
        <项目>诺基亚5130< /项目>
    < /字符串数组>
    <字符串数组名=值>
        <项目> 1000℃; /项目>
        <项目> 2000< /项目>
        <项目> 5000< /项目>
    < /字符串数组>
< /资源>
 

现在加载第一阵列中的适配器和存储第二个在其他数组来保存的物品作为值:

 字符串项[] = getResources()getStringArray(R.array.items)。
字符串值[] = getResources()getStringArray(R.array.values​​)。
 

和你可以简单地得到您的各自的项目名称和值onItemSelected()这样的方法:

 字符串项= parent.getItemAtPosition(POS)的ToString();
字符串值=值[POS]
 

i am developing one spinner this spinner i am string array

spinner = (Spinner)this.findViewById(R.id.mlg); 
final CharSequence[] itemArray =getResources().getTextArray(R.array.RectBeam); 
final List<CharSequence> itemList =new ArrayList<CharSequence>(Arrays.asList(itemArray)); 
adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item,itemList); 

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

spinner.setAdapter(adapter); 
spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 

public void onItemSelected(AdapterView<?> parent, View view, 
int pos, long id) { 
Toast.makeText(parent.getContext(), "The planet is " + 
parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show(); 

} 

............................

<string-array name="RectBeam">
<item value="3000000" > Steel</item></string-array> 

this is the spinner related string array i am get the spinner item i am using parent.getItemAtPosition(pos).toString(),done my problem is particular item value how can get

example :  steel----------->3000000 

解决方案

I am not sure either Spinner allow that attribute value in XML String or not but your problem can be solved like this.

Create two arrays in your array.xml file like:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="items">
        <item>Nokia 1200</item>
        <item>Nokia 1600</item>
        <item>Nokia 5130</item>
    </string-array>
    <string-array name="values">
        <item>1000</item>
        <item>2000</item>
        <item>5000</item>
    </string-array>
</resources>

Now load first array in your adapter and store the second one in other Array to hold values of items as:

String items [] = getResources().getStringArray(R.array.items);
String values [] =  getResources().getStringArray(R.array.values);

And you can simply get the respective item name and value in your onItemSelected() method like this:

String item = parent.getItemAtPosition(pos).toString();
String value = values [pos];