Android 日期和时间选择器未从所选值更新
我正在从onClick()调用三个方法Android 日期和时间选择器未从所选值更新,android,dialog,onclick,Android,Dialog,Onclick,我正在从onClick()调用三个方法 第一个是日期选择器 第二个是时间选择器 第三个用于打开其他片段 我想要的是,当我点击这个片段(即NeedBloodFragment)中的按钮时,会出现日期和时间选择器,然后打开另一个片段 到目前为止,我得到的日期和时间值在这个片段和其他片段中都是空白的。问题很可能是这三个方法的调用方式很奇怪。我不知道如何正确地做这件事 守则的主要部分包括: public class NeedBloodFragment extends Fragment {
- 第一个是日期选择器
- 第二个是时间选择器
- 第三个用于打开其他片段
public class NeedBloodFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.fragment_need_blood, container, false);
Button button1 = (Button)rootView.findViewById(R.id.dialog_btn1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
onCreateDialog(999).show();
onCreateDialog(1999).show();
openAppointments();
}
});
return rootView;
}
protected Dialog onCreateDialog(int id) {
// TODO Auto-generated method stub
if (id == 999) {
DatePickerDialog d= new DatePickerDialog(getActivity(), myDateListener, 2015, 6, 25);
d.setTitle("Select Meeting Date");
return d;
}
if(id == 1999) {
TimePickerDialog t=new TimePickerDialog(getActivity(),
myTimeListener,
Calendar.HOUR_OF_DAY,
Calendar.MINUTE,
true);
t.setTitle("Select Meeting Time");
return t;
}
return null;
}
private DatePickerDialog.OnDateSetListener myDateListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker arg0, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
// arg1 = year
// arg2 = month
// arg3 = day
StringBuilder sb=new StringBuilder();
sb.append(arg3).append("/")
.append(arg2+1).append("/").append(arg1);
returnDate(sb.toString());
}
};
private TimePickerDialog.OnTimeSetListener myTimeListener=new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {
StringBuilder sb=new StringBuilder();
sb.append(hourOfDay).append(":").append(minute);
returnTime(sb.toString());
}
};
public void returnDate(String s)
{
MainActivity.selectedDate=s;
}
public void returnTime(String s)
{
MainActivity.selectedTime=s;
}
public void openAppointments()
{
fragment = new AppointmentsFragment();
if (fragment != null) {
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.popBackStack();
fragmentManager.beginTransaction()
.replace(R.id.frame_container, fragment).addToBackStack( null ).commit();
}
else {
// error in creating fragment
Log.e("MainActivity", "Error in creating fragment");
}
//dialog.dismiss();
}
}
准确地说,以下是我的问题:
selectedDate
和selectedTime
没有任何值,我如何更正至少在投票前评论一下你的担忧。对我来说,这不是一个坏问题。为了以防万一,确保你仔细看了看,如何提问:至少在否决投票前评论一下你的担忧。对我来说,这不是一个坏问题。以防万一,请确保您仔细查看,如何询问: