使用两个微调器选择两个项目时如何设置 textView?
How to set textView when two items have been selected by using two spinners?
在我的应用程序中,我使用了两个微调器,所以对于第一个微调器,我 select,比方说,村庄 A 和第二个微调器村庄 B。然后我想显示距离和时间在这些 selected 值之间取值:
这是我的代码:
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>
对不起,如果这是一个愚蠢的问题,但这是第一次使用微调器。
提前谢谢你。
您应该为每个微调器提供 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 编写代码
在我的应用程序中,我使用了两个微调器,所以对于第一个微调器,我 select,比方说,村庄 A 和第二个微调器村庄 B。然后我想显示距离和时间在这些 selected 值之间取值:
这是我的代码:
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>
对不起,如果这是一个愚蠢的问题,但这是第一次使用微调器。 提前谢谢你。
您应该为每个微调器提供 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 编写代码