Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 微调器仅显示输出中的第一个输入_Java_Android_Spinner - Fatal编程技术网

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
的变量。请张贴您的实际代码。这是所有代码。我知道我做了很多错事,但我只是想添加一些部分,看看发生了什么