将选定的微调器值转换为定义的int变量:android

时间:2014-03-20 09:49:50

标签: android json spinner

我有一个Android程序,其中有一个微调器。我得到选定的微调值。我也可以把它作为json发送。 问题是,如果选择了option1,我想发送1,如果选择了选项2则发送2,依此类推。 在我将其作为json发送之前,是否有方法将所选值转换为我选择的int值? 代码是

 public void addItemsOnSpinner1() {

            s1 = (Spinner) findViewById(R.id.spinnerL);
            List<String> list = new ArrayList<String>();
            list.add("Casual");
            list.add("Earned");
            list.add("Compensatory");
            list.add("Without Pay");
            list.add("Sick Leave");



            ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, list);
            dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            s1.setAdapter(dataAdapter);
            s1.setOnItemSelectedListener(new OnItemSelectedListener()


            {
                    public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3)
                       {
//                    Toast.makeText(getBaseContext(), s5.getSelectedItem().toString(),Toast.LENGTH_LONG).show();  
                        final String SelectedLeave = s1.getSelectedItem().toString();
                        balanceLeavesLeft();                           
                       }
                  public void onNothingSelected(AdapterView<?> arg0)
                        {
                                 // TODO Auto-generated method stub                  
                        }
            });


            }

2 个答案:

答案 0 :(得分:0)

第三个参数是你的微调器的选定项目的位置: 它代码中的arg2是

    public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3)
                       {
//                    Toast.makeText(getBaseContext(), s5.getSelectedItem().toString(),Toast.LENGTH_LONG).show();  
                        final String SelectedLeave = s1.getSelectedItem().toString();
                        balanceLeavesLeft();                           
                       }

- &GT;所以你只需要打印出来:(arg2 + 1)

答案 1 :(得分:0)

tauitdnmd,答案很好但是,最好的方法应该是你有一个实体类Opion作为例子,你有它的字符串值和所选行的int值:)通常是这样做的。

public class YourOptionClass {

 private String optionName;
 private int optionValue;

 //construktor
 //getter and setter
 //to string

}

你用这个课填充你的微调器。

public void onItemSelected(AdapterView<?> arg0, View arg1,int pos, long arg3){

int option = YourAdapterClass.getItem(pos).getOptionValue();

}