我试图把时间选取器对话框中的复选框放在时间选取器上面,就好像它被选中时间选取器会起作用。
我试过在TimePickerFragment(onCreateDialog)中设置CheckBox,它将复选框放在主活动中,而不是在Time对话框中。 的TimePickerFragment:TimePicker如果复选框被勾选
public class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener {
private MyAlarmReceiver alarm;
//final CheckBox chk=null;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current time as the default values for the picker
final Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
final CheckBox chk = (CheckBox) getActivity().findViewById(R.id.chk);
if (chk.isChecked()) {
chk.setChecked(false);
}
// Create a new instance of TimePickerDialog and return it
return new TimePickerDialog(getActivity(), this, hour, minute,
DateFormat.is24HourFormat(getActivity()));
}
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Context con = getActivity();
MainActivity.hour = hourOfDay;
MainActivity.min = minute;
//Toast.makeText(con, "TimeGet: "+MainActivity.hour+","+MainActivity.min, Toast.LENGTH_LONG).show();
alarm = new MyAlarmReceiver();
if(alarm != null){alarm.setOnetimeTimer(con);}
else
Toast.makeText(con, "Alarm is null", Toast.LENGTH_SHORT).show();
}
}
Main_activity.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/layout"
android:background="@drawable/back" >
<CheckBox
android:id="@+id/chk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/chk"
android:checked="true"/>
</RelativeLayout>
任何想法,为什么谢谢!
也谢谢你。但它被放在我的主要活动中的复选框,而不是在我的TimePickerDialog(我已编辑) – elichai2 2013-05-11 19:51:28