在我的应用程序中,我使用两个微调器,所以对于我选择的第一个微调器,比如说村庄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>
很抱歉,如果这是一个愚蠢的问题,但是第一次使用微调器。 提前谢谢。
答案 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
编写