クリックしたときにEditTextを設定する簡単なボタンを作成しました。 GetTime()という別のメソッドを作成しました。このメソッドは、スピンナーに文字列をチェックし、Time変数を設定する必要があります。次に、onClick()はEditTextをTimeの値に設定するだけです。その非常に単純なコードです。問題は私がif TimerSpin.equals("5 Mins")
を実行したとき、それは決して時間の値を変更しないということです。まだ0です。スピナーが正しくチェックされているかわかりません。しかし、それはちょうど良いEditTextに値を印刷します。スピナーはStrings.xmlで作成したStringArrayです。Androidで文字列配列を確認する
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");
}
}
}
を?ポストエラーコード/ – Siten
エラーはありません。これは、常にTime = 0の値を設定し、EditTextに0を表示します。しかし、Spinner.equals( "5 Mins")の場合はTime = 5に設定します。 – user1174834