Android Studio 目覚まし時計を作ってみる Part2
シロルです。
前回は適当にパーツを置く作業をやりました。
今回は入力したデータを取得して表示するところまでやっていきます。
では、
※既存のコードを消して貼り付けるとエラーが出ることがあります。付け足す感じで貼り付けることをおすすめします。
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.Editable; import android.view.View; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.enter).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { timeConf(mhours(), mminutes()); } }); } //時を取得 private String mhours(){ EditText Ehour=(EditText)this.findViewById(R.id.hour); String hour = Ehour.getText().toString(); return hour; } //分を取得 private String mminutes(){ EditText Eminute=(EditText)this.findViewById(R.id.minute); String minute = Eminute.getText().toString(); return minute; } //設定した時刻を表示 private void timeConf(String h, String m){ TextView confview=(TextView)this.findViewById(R.id.confview); confview.setText("設定した時間は " + h + ":" + m); }
では解説していきます。
setContentView(R.layout.activity_main);の下のコードです。
findViewById(R.id.enter).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { timeConf(mhours(), mminutes()); } });
ここではボタンを押したときの処理を書いています。
findViewById(R.id.enter)でxmlファイルのenterというIDが振られたボタンと紐付けしています。
public void onClick()はボタンが押されたときに実行されます。
その下のtimeConf()は自作メソッドで設定した時間を表示します。引数となるメソッドはこの下です。
次に入力されたデータを取得するメソッドです。
//時を取得 private String mhours(){ EditText Ehour=(EditText)this.findViewById(R.id.hour); String hour = Ehour.getText().toString(); return hour; } //分を取得 private String mminutes(){ EditText Eminute=(EditText)this.findViewById(R.id.minute); String minute = Eminute.getText().toString(); return minute; }
先ほどと同じようにIDと紐付けしています。(EditText)はなくてもいいですがあるとわかりやすいですね。
EditTextオブジェクトを取得してEminuteと名前を付けています。
Eminute.getText();で入力されたデータを取得します。
toString()でString型に変換します。
//設定した時刻を表示 private void timeConf(String h, String m){ TextView confview=(TextView)this.findViewById(R.id.confview); confview.setText("設定した時間は " + h + ":" + m); }
setTextでTextViewに設定した時刻を表示します。
timeConf(mhours(), mminutes());
先ほどのボタンを押したときに実行される処理です。
引数にメソッドを使っていますが、実際はそれぞれの戻り値を渡しています。
今回はここまでです。
次回はアラームを設定します。