[英]Selecting a Spinner Item to change the text within a textview?
我需要这个Android转换应用程序的帮助。 因此,我有一个装有以下物品的微调器:
<string name="action_settings">Settings</string><string-array name="ConversionItems">
<item >Miles to Kilometers</item>
<item >Kilometers to Miles</item>
<item >Inches to Centimeters</item>
<item >Centimeters to Inches</item>
</string-array>
这是我MainActivity中的一些代码
> conversionspinner.setOnItemSelectedListener(new
> OnItemSelectedListener() {
> @Override
> public void onItemSelected(AdapterView<?> parent, View view, int position,
> long id) {
> // TODO Auto-generated method stub
>
> }
>
> @Override
> public void onNothingSelected(AdapterView<?> parent) {
> // TODO Auto-generated method stub
> return;
> }
> }
我想知道的是,当选择特定项目时,如何更改文本视图的文本。 例如,如果选择了“英里为公里”,则textview1
将显示“ Miles”,而textview2
将显示“公里”。 我是android编程和一般编程的新手,所以简单的解决方案会很棒!
谢谢
很简单:
final String CONDITION_1 = "Kilometers";
final String CONDITION_2 = "Miles";
TextView textView1 = (TextView) findViewById(R.id.textView1);
int units = 10;
private void updateText() {
String spinnerState = conversionspinner.getSelectedItem().toString();
if (spinnerState.equalsIgnoreCase("")) {
textView1.setText("");
} else if (spinnerState.equalsIgnoreCase(CONDITION_1)){
//do appropriate unit conversion:
units = units * (8/5);
textView1.setText(String.valueOf(units) + spinnerState);
} else if (spinnerState.equalsIgnoreCase(CONDITION_2)) {
units = units * (5/8);
textView1.setText(String.valueOf(units) + spinnerState);
}
}
conversionspinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
updateText();
});
你可以做这样的事情
conversionspinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
//position will tell you which position is selected
// in your array index 0 - <item >Miles to Kilometers</item>
// index 1 - <item >Kilometers to Miles</item>
// index 2 - <item >Inches to Centimeters</item>
// index 3 - <item >Centimeters to Inches</item>
switch(position){
case 0:
textView1.settext("Miles");
textView2.settext("Kilometers");
break;
case 1:
textView1.settext("Kilometer");
textView2.settext("Miles");
break;
case 2:
textView1.settext("Inches");
textView2.settext("Centimeter");
break;
case 3:
textView1.settext("Centimeter");
textView2.settext("Inches");
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
希望有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.