【问题标题】:Android spinner and change text depends on the Item selectionAndroid微调器和更改文本取决于项目选择
【发布时间】:2015-04-15 21:05:42
【问题描述】:

我是一个 android noob,我正在尝试制作一个微调器,并且想要更改另一个文本取决于微调器项目的选择。

例如,如果我选择果汁,我需要将文本更改为“加仑”。等等

这是我的代码:

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_edit);

    Button saveButton = (Button) findViewById(R.id.save_button);
     Spinner foodSpinner = (Spinner) findViewById(R.id.foodSpinner);
     String foodChoice = foodSpinner.getSelectedItem().toString();
     TextView unit = (TextView) findViewById(R.id.units);

     if(foodChoice.equals("Egg"))
     {
     unit.setText("Dozen");
     }
     else if(foodChoice.equals("Juice"))
     {
     unit.setText("gallons");
     }
     else if(foodChoice.equals("Carrot"))
     {
     unit.setText("bunch");
     }
     else if(foodChoice.equals("Chocolate"))
     {
     unit.setText("bars");
     }
     else if(foodChoice.equals("Bread"))
     {
     unit.setText("loaf");
     }

    saveButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(EditActivity.this,
                    MainActivity.class);
            startActivity(intent);
        }
    });
}

但是第一次文字变成了“Dozens”,然后我从微调器中选择其他项目时它没有改变。

【问题讨论】:

    标签: android onclick textview spinner


    【解决方案1】:

    在 Spinner 中添加 setOnItemSelectedListener 以根据 Spinner 选择更改 TextView 文本:

    foodSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    
            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int arg2, long arg3) {
                // TODO Auto-generated method stub
    
                String selItem = foodSpinner.getItemAtPosition(arg2).toString();
    
                if(selItem.equals("Juice"))
                 {
                   unit.setText("gallons");
                 }....
            }
        });
    

    【讨论】:

      【解决方案2】:

      我在任何地方都没有看到 onItemSelectedListener。确保在微调器上设置一个。 foodSpinner.setOnItemSelectedListener(new onItemSelectedListener...)

      【讨论】:

        【解决方案3】:

        添加项目选定的侦听器,如

            sp.setOnItemSelectedListener(new OnItemSelectedListener(){
          public void onItemSelected(AdapterView<?> arg0, View arg1,   int arg2, long arg3){
        
        Toast.makeText(getBaseContext(), sp.getSelectedItem().toString(),
        
        Toast.LENGTH_LONG).show();                            }                     
           }
        

        【讨论】:

          猜你喜欢
          • 2015-06-27
          • 1970-01-01
          • 2011-08-15
          • 2020-01-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-12
          相关资源
          最近更新 更多