2 개를 EditText
두 개로 설정하려면 TimePicker
을 설정하고 싶습니다. 그러나 시간 선택기를 선택하면 모두 EditText
에 같은 시간이 표시됩니다.2 개의 다른 EditText에서 2 개의 timepicker를 설정하는 방법은 무엇입니까?
for. 예 : Starttime
(EditText) TimePicker
을 선택하면 Endtime
(EditText)에도 자동으로 설정됩니다. 여기
코드 : -
main.java
starttime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Initialize a new time picker dialog fragment
DialogFragment dFragment = new TimePickerFragment();
// Show the time picker dialog fragment
dFragment.show(getActivity().getFragmentManager(),"Time Picker");
isFromClicked = false;
}
});
endtime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Initialize a new time picker dialog fragment
DialogFragment dFragment1 = new TimePickerFragment();
// Show the time picker dialog fragment
dFragment1.show(getActivity().getFragmentManager(),"Time Picker");
isFromClicked = true;
}
});
TimePickerFragment.java
public class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
// Get a Calendar instance
final Calendar calendar = Calendar.getInstance();
// Get the current hour and minute
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
// TimePickerDialog Theme : THEME_DEVICE_DEFAULT_LIGHT
TimePickerDialog tpd = new TimePickerDialog(getActivity(),
AlertDialog.THEME_DEVICE_DEFAULT_LIGHT,this,hour,minute,false);
// Return the TimePickerDialog
return tpd;
}
public void onTimeSet(TimePicker view, int hourOfDay, int minute){
String am_pm = "";
Calendar datetime = Calendar.getInstance();
datetime.set(Calendar.HOUR_OF_DAY, hourOfDay);
datetime.set(Calendar.MINUTE, minute);
if (datetime.get(Calendar.AM_PM) == Calendar.AM)
am_pm = "AM";
else if (datetime.get(Calendar.AM_PM) == Calendar.PM)
am_pm = "PM";
String strHrsToShow = (datetime.get(Calendar.HOUR) == 0) ?"12":datetime.get(Calendar.HOUR)+"";
((EditText)getActivity().findViewById(R.id.start_time)).setText(strHrsToShow+":"+datetime.get(Calendar.MINUTE)+" "+am_pm);
((EditText)getActivity().findViewById(R.id.End_time)).setText(strHrsToShow+":"+datetime.get(Calendar.MINUTE)+" "+am_pm);
}
}
난 다음도 작동하지 않는 문자열의 이름을 모두 변경 .. – Andie