ユーザーがプラスまたはマイナスをタップするか、キーボードを使用して手動で時間を編集して、時間または分の値を変更した場合は、TimePicker.OnTimeChangedListener を使用して onTimeChanged アクションを処理する必要があります。
そして、これは私のコードです:
アクティビティ:
public class MainActivity extends Activity
implements TimePicker.OnTimeChangedListener {
private TextView resultTime;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
resultTime = (TextView) findViewById(R.id.activity_main_textview_resulttime);
TimePicker timePicker = (TimePicker) findViewById(R.id.activity_main_timepicker);
{
timePicker.setIs24HourView(true);
timePicker.setOnTimeChangedListener(this);
}
}
@Override
public void onTimeChanged(TimePicker timePickerView, int hours, int minutes) {
final String stringNewTime = hours + " : " + minutes;
resultTime.setText(stringNewTime);
}
}
レイアウト:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:orientation="vertical" >
<TimePicker
android:id="@+id/activity_main_timepicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="14dip"
android:layout_marginRight="16dip"
android:focusable="true"
android:focusableInTouchMode="true" />
<TextView
android:id="@+id/activity_main_textview_resulttime"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
うまくいけば、それはあなたを助けるでしょう!