Java 选择微调器项以更改textview中的文本?

Java 选择微调器项以更改textview中的文本?,java,android,textview,android-spinner,Java,Android,Textview,Android Spinner,我需要一些关于Android转换应用程序的帮助。 因此,我有一个微调器,其中填充了以下项目: <string name="action_settings">Settings</string><string-array name="ConversionItems"> <item >Miles to Kilometers</item> <item >Kilometers to Miles&l

我需要一些关于Android转换应用程序的帮助。 因此,我有一个微调器,其中填充了以下项目:

 <string name="action_settings">Settings</string><string-array name="ConversionItems">
         <item >Miles to Kilometers</item>
         <item >Kilometers to Miles</item>
         <item >Inches to Centimeters</item>
         <item >Centimeters to Inches</item>
 </string-array>
设置
英里到公里
公里到英里
英寸到厘米
厘米到英寸
这是我主要活动中的一些代码

> conversionspinner.setOnItemSelectedListener(new
> OnItemSelectedListener() {
>       @Override
>       public void onItemSelected(AdapterView<?> parent, View view, int position,
>               long id) {
>           // TODO Auto-generated method stub
>           
>       }
> 
>       @Override
>       public void onNothingSelected(AdapterView<?> parent) {
>           // TODO Auto-generated method stub
>           return;
>       }
>     }
>conversionspinner.setOnItemSelectedListener(新建)
>OnItemSelectedListener(){
>@覆盖
>已选择公共位置(AdapterView父对象、视图、整型位置、,
>长id){
>//TODO自动生成的方法存根
>           
>       }
> 
>@覆盖
>未选择公共无效(AdapterView父级){
>//TODO自动生成的方法存根
>返回;
>       }
>     }
我想知道的是,当选择特定项目时,我将如何更改文本视图的文本。例如,如果选择了“英里到公里”,则
textview1
将显示“英里”,而
textview2
将显示“公里”。我对android编程和一般编程都是新手,因此简单的解决方案将非常有用

谢谢

非常简单:

    final String CONDITION_1 = "Kilometers";
    final String CONDITION_2 = "Miles";

    TextView textView1 = (TextView) findViewById(R.id.textView1);
    int units = 10;

    private void updateText() {
         String spinnerState = conversionspinner.getSelectedItem().toString();


         if (spinnerState.equalsIgnoreCase("")) {
             textView1.setText("");

         } else if (spinnerState.equalsIgnoreCase(CONDITION_1)){
             //do appropriate unit conversion:
             units = units * (8/5);
             textView1.setText(String.valueOf(units) + spinnerState);

         } else if (spinnerState.equalsIgnoreCase(CONDITION_2)) { 
             units = units * (5/8);
             textView1.setText(String.valueOf(units) + spinnerState);
         }
    }

conversionspinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
          updateText();

   });
final String CONDITION_1=“km”;
最终管柱条件_2=“英里”;
TextView textView1=(TextView)findViewById(R.id.textView1);
整数单位=10;
私有void updateText(){
字符串spinnerState=conversionspinner.getSelectedItem().toString();
if(喷丝头状态。相等信号状态(“”){
textView1.setText(“”);
}else if(喷丝头状态等信号情况(条件1)){
//进行适当的单位转换:
单位=单位*(8/5);
textView1.setText(字符串.valueOf(单位)+喷丝头状态);
}else如果(喷丝头状态.相等信号情况(条件_2)){
单位=单位*(5/8);
textView1.setText(字符串.valueOf(单位)+喷丝头状态);
}
}
setOnItemSelectedListener(新的OnItemSelectedListener()){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
updateText();
});

您可以这样做

conversionspinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
           //position will tell you which position is selected
           // in your array  index 0 - <item >Miles to Kilometers</item>
           //                index 1 - <item >Kilometers to Miles</item>
           //                index 2 - <item >Inches to Centimeters</item>
           //                index 3 - <item >Centimeters to Inches</item>

            switch(position){
                case 0:
                    textView1.settext("Miles");
                    textView2.settext("Kilometers");
                    break;
                case 1:
                    textView1.settext("Kilometer");
                    textView2.settext("Miles");
                    break;
                case 2:
                    textView1.settext("Inches");
                    textView2.settext("Centimeter");
                    break;
                case 3:
                    textView1.settext("Centimeter");
                    textView2.settext("Inches");
                    break;
            }


        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }

        });
conversionspinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
//position将告诉您选择了哪个位置
//在您的数组中,索引为0-英里到公里
//索引1-公里到英里
//索引2-英寸到厘米
//索引3-厘米到英寸
开关(位置){
案例0:
textView1.settext(“英里”);
textView2.settext(“公里”);
打破
案例1:
textView1.settext(“公里”);
textView2.settext(“英里”);
打破
案例2:
textView1.settext(“英寸”);
textView2.settext(“厘米”);
打破
案例3:
textView1.settext(“厘米”);
textView2.settext(“英寸”);
打破
}
}
@凌驾
未选择公共无效(AdapterView父级){
}
});
希望有帮助