Java 微调器仅显示输出中的第一个输入
我做了一个旋转器,可以选择一项运动,它可以给你每小时的卡路里。我是这样做的:Java 微调器仅显示输出中的第一个输入,java,android,spinner,Java,Android,Spinner,我做了一个旋转器,可以选择一项运动,它可以给你每小时的卡路里。我是这样做的: package com.test.moneyconverter; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.Spinner;
package com.test.moneyconverter;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;
public class sport extends Activity {
Button mBtnCalculate;
String Voetbal = "190";
String Zwemmen = "240";
String Fietsen = "480";
String Hardlopen = "480";
String Wandelen = "150";
String Selected = spinner.getSelectedItem().toString();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sport);
getActionBar().setDisplayHomeAsUpEnabled(true);
mBtnCalculate = (Button) findViewById(R.id.btnCalculate);
ArrayAdapter myAdapter = new ArrayAdapter(this,
android.R.layout.simple_spinner_item,
new String[]{"Voetbal","Zwemmen","Fietsen","Hardlopen","Wandelen"});
Spinner sport = (Spinner) findViewById(R.id.spinner);
sport.setAdapter(myAdapter);
}
public void calculateTo(View view){
if (view == mBtnCalculate){
float calorien = Float.valueOf(Selected.toString());
Toast.makeText(this, "je verbrand " + calorien , Toast.LENGTH_LONG).show();
}
}
}
它只显示第一个输出,始终为Voetbal。我认为它不工作,因为它没有选择输出 我不是Android开发人员,因此我可能会忽略您的代码的其他一些问题,但是您似乎犯了一个错误,认为只要微调器执行以下操作,
所选的
变量就会更新:
String Selected = spinner.getSelectedItem().toString();
此变量永远不会更改其值。相反,当用户按下按钮获取当前值时,需要调用spinner.getSelectedItem().toString()
这部分代码看起来也很奇怪:
float calorien = Float.valueOf(Selected.toString());
根据您对任务的描述,我希望您的微调器返回文本值,例如“Voetbal”等。这些不是浮点值,因此您不能以您所做的方式转换它们。也许您需要定义一个映射结构,将字符串(如“Voetbal”)映射到浮点值:
Map<String, Float> map = new HashMap<String, Float>() {{
put("Voetbal", 190f);
// etc.
}};
Map Map=newhashmap(){{
put(“Voetbal”,190f);
//等等。
}};
是哪个微调器?在此行中:String Selected=spinner.getSelectedItem().toString()我不知道这是怎么编译的。代码中没有名为spinner
的变量。请张贴您的实际代码。这是所有代码。我知道我做了很多错事,但我只是想添加一些部分,看看发生了什么