如何使用两个微调器选择两个项目时设置textView?

时间:2015-07-15 14:49:44

标签: android android-spinner

在我的应用程序中,我使用两个微调器,所以对于我选择的第一个微调器,比如说村庄A和第二个微调器村B.然后我想显示这些选定值之间的距离和时间:

这是我的代码:

Spinner spin1=(Spinner)findViewById(R.id.spinner1);
        Spinner spin2=(Spinner)findViewById(R.id.spinner2);
        ArrayAdapter<CharSequence> adapter1= ArrayAdapter.createFromResource(this, R.array.start_location, android.R.layout.simple_spinner_item);
        ArrayAdapter<CharSequence> adapter2= ArrayAdapter.createFromResource(this, R.array.end_location, android.R.layout.simple_spinner_item);
        adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin1.setAdapter(adapter1);
        spin2.setAdapter(adapter2);
}

    public void onItemSelected(AdapterView<?> parent,
            View view, int pos, long id) {
        if (spin1.equals("Village A")) {
            if (spin2.equals("Village B")) {
                start.setText("60 Miles");
                time.setText("3 Hours");

            } else if (spin2.equals("Village A")) {
                //Etc...
            }
        } else if (spin1.equals("Village C")) {

        }
            //Etc...
        }
  public void onNothingSelected(AdapterView<?> parent) {
  // Do nothing.
 }

  }

<string-array name="start_location">
    <item>Village A</item>
    <item>Village B</item>
    <item>Village C</item>
</string-array>

<string-array name="end_location">
    <item>Village A</item>
    <item>Village B</item>
    <item>Village C</item>
</string-array>

很抱歉,如果这是一个愚蠢的问题,但是第一次使用微调器。 提前谢谢。

1 个答案:

答案 0 :(得分:2)

您应该为每个微调器提供OnItemSelectedListener,然后您可以覆盖onItemSelected方法并编写自己的逻辑

spin1.setOnItemSelectedListener(new OnItemSelectedListener() {

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

                //Your logic
            }

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

            }
        });

同样,您可以为另一个微调器spin2

编写