それをTextView
クリックすると、日付と時刻のピッカーをビューとして使用するダイアログが開きます。
datetimepicker.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<DatePicker
android:id="@+id/datePicker1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</DatePicker>
<TimePicker
android:id="@+id/timePicker1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TimePicker>
<LinearLayout
android:id="@+id/setcancel"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button1"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="SET" />
<Button
android:id="@+id/button2"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="CANCEL" />
</LinearLayout>
</LinearLayout>
そしてこれはのコードですTextView.OnClickListener
final TextView startTime = (TextView) getActivity().findViewById(R.id.textView3);
startTime.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
final Dialog dialog = new Dialog(getActivity());
dialog.setContentView(R.layout.datetimepicker);
dialog.setTitle("Set Date and Time");
Button set = (Button) dialog.findViewById(R.id.button1);
Button cancel = (Button) dialog.findViewById(R.id.button2);
final TimePicker tp = (TimePicker)dialog.findViewById(R.id.timePicker1);
tp.setCurrentHour(Calendar.HOUR_OF_DAY);
tp.setCurrentMinute(Calendar.MINUTE);
tp.setOnTimeChangedListener(new OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
hour = hourOfDay;
min = minute;
}
});
set.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startTime.setText(Integer.toString(hour)+ ";" + Integer.toString(min));
}
});
cancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
}
});
問題は、一度クリックするTextView
と何も起こらないことです。つまり、何も起こらずTextView
、ダイアログで [OK] ボタンをクリックすると、ユーザーが設定した時間でテキストを設定したかったのです。
何か提案はありますか?ティア。