プログラム初心者です。Tableで作った表組に、Timepickerにて時刻を入力したいと思っています。
Tableの一マスにそれぞれボタンを配置し、そこをクリックするとTimepickerが現れ、時刻を入力できるようにしたいと考えました。
参考サイトを見て、我流で取り組んでいるうち、とりあえず一マス(ボタン)だけはそれを可能にすることが出来ました。
ところが残りのマス(ボタン)に、それを適応しようとしても、上手くいきません。
それぞれidを変えて、swith文にてcaseで場合分けするとしようとしても、同じマスにだけ上書きされて、クリックしたマスに対しては表示されません。
どうしたら、一つのマスだけではなく、複数のそれぞれのマスに対して、Timepickerで入力できるようになるのでしょうか。
何かお分かりになる方がいましたら、よろしくお願いします。
(※また、プログラム的に何かお感じになることがあれば、お伝えください。)
MainActivity.java package com.example.android.sample.timepaper; import android.app.TimePickerDialog; import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.support.v4.app.FragmentActivity; import android.view.View; import android.widget.TextView; import android.widget.TimePicker; public class MainActivity extends FragmentActivity implements TimePickerDialog.OnTimeSetListener { TextView btn_jikoku; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_jikoku = (TextView)findViewById(R.id.btn); } @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { btn_jikoku.setText( String.format("%02d"+":"+"%02d",hourOfDay,minute)); } public void showTimePickerDialog(View v) { DialogFragment newFragment = new TimePic(); newFragment.show(getSupportFragmentManager(), "timePicker"); } } --------------------------- TimePic.java package com.example.android.sample.timepaper; import android.app.Dialog; import android.app.TimePickerDialog; import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.widget.TimePicker; import java.util.Calendar; public class TimePic extends DialogFragment implements TimePickerDialog.OnTimeSetListener{ @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final Calendar c = Calendar.getInstance(); int hour = c.get(Calendar.HOUR_OF_DAY); int minute = c.get(Calendar.MINUTE); return new TimePickerDialog(getActivity(), (MainActivity)getActivity(), hour, minute, true); } public void onTimeSet(TimePicker view, int hourOfDay, int minute) { } } --------------------------- activity_main.xml <Button android:id="@+id/btn" android:layout_height="wrap_content" android:layout_gravity="center" android:inputType="time" android:onClick="showTimePickerDialog" tools:ignore="TextViewEdits" /> <Button
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/25 16:02