我创建了一个简单的按钮,在单击时设置EditText。我创建了另一个名为GetTime()的方法,该方法应检查微调器的字符串,然后设置Time变量。然后我的onClick()只是将EditText设置为Time的值。它的代码非常简单。问题是当我if TimerSpin.equals("5 Mins")
时,它永远不会改变时间的价值。它仍然是0.所以我不确定我的微调器是否正确检查。但它可以很好地将值打印到EditText。微调器只是我在Strings.xml中创建的StringArray。
package com.Alan.Gym_Rat;
import android.app.Activity;
import android.graphics.Typeface;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.view.*;
import android.view.View.OnClickListener;
public class MainScreen extends Activity implements OnClickListener
{
int Calories = 0;
int Time = 0;
EditText CalText;
Button Calculate;
Spinner TimerSpin;
Spinner ExerSpin;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.mainmenu);
TextView MainTitle = (TextView) findViewById(R.id.Title);
Typeface Molot = Typeface.createFromAsset(getAssets(), "Molot.otf");
MainTitle.setTypeface(Molot);
ExerSpin = (Spinner)findViewById(R.id.ExerciseSpin);
TimerSpin = (Spinner)findViewById(R.id.TimeSpin);
Calculate =(Button)findViewById(R.id.Calc);
CalText = (EditText)findViewById(R.id.CalcText);
Calculate.setOnClickListener((OnClickListener)this);
}
public void GetTime()
{
if(TimerSpin.equals("5 Mins"))
{
Time = 5;
}
else
{
Time = 0;
}
}
public void onClick(View v)
{
if(v.getId() == R.id.Calc)
{
GetTime();
CalText.setText(Time + " Calories");
}
}
}
答案 0 :(得分:3)
问题是,您要将Spinner
与String
进行比较,实际应该Spinner
选择String
到另一个String
..
通过以下方式纠正此问题:
if(TimerSpin.getSelectedItem().toString().equals("5 Mins"))
{
// your code...
}