【问题标题】:Selecting a Spinner Item to change the text within a textview?选择一个微调项来更改文本视图中的文本?
【发布时间】:2016-02-25 20:50:01
【问题描述】:

我需要一些关于这个 Android 转换应用程序的帮助。 所以我有一个 Spinner 填充了这些项目:

 <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>

这是我的 MainActivity 中的一些代码

> 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;
>       }
>     }

我想知道什么是在选择特定项目时如何更改TextView的文本。例如,如果选择“英里到公里”,textview1 将显示“英里”,textview2 将显示“公里”。我是 android 编程和一般编程的新手,所以简单的解决方案会很棒!

谢谢

【问题讨论】:

    标签: java android textview android-spinner


    【解决方案1】:

    很简单:

        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();
    
       });
    

    【讨论】:

      【解决方案2】:

      你可以这样做

      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) {
      
              }
      
              });
      

      希望有帮助!

      【讨论】:

        猜你喜欢
        • 2015-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-15
        • 1970-01-01
        • 2013-10-15
        • 2013-03-01
        相关资源
        最近更新 更多