如何更改EditText提示取决于android中的微调项目选择

时间:2017-09-07 06:07:33

标签: android spinner

我正在尝试根据微调项目的选择在EditText中设置提示。 我的旋转器里有两件物品。即KG和LBS,现在我要做的是当我在微调器中选择KG时,应在EditText中设置KG(提示),或者当我在微调器中选择LBS时,应在LBS(提示)中设置EditText。我在if条件下尝试了这个,KG已经设置但是当我在spinner中将我的选择更改为LBS时,EditText中的值(提示)没有变化。 这是我的代码:

final Spinner s = (Spinner) findViewById(R.id.spinner2);
etweight=(EditText) findViewById(R.id.weight);


    this.arraySpinner= new  String[]{
            "KG", "LBS"
    };

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, arraySpinner);
    s.setAdapter(adapter);


    if (s.getSelectedItem().toString().equals("KG")) {

        etweight.setHint("KG");

    } else if (s.getSelectedItem().toString().equals("LBS")) {

        etweight.setHint("LBS");
    }

2 个答案:

答案 0 :(得分:0)

尝试使用spinner的setOnItemSelectedListener

    spin.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                                   int arg2, long arg3) {
            String text=spin.getSelectedItem().toString();

            if (text.equals("KG")) {

                etweight.setHint("KG");

            } else if (text.equals("LBS")) {

                etweight.setHint("LBS");
            }
        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub

        }
    });

答案 1 :(得分:0)

试试这个有效

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

                if(position == 0)
                    etweight.setHint("KG");
                else
                    etweight.setHint("LBS");

            }

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

            }
        });