Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 日期和时间选择器未从所选值更新_Android_Dialog_Onclick - Fatal编程技术网

Android 日期和时间选择器未从所选值更新

Android 日期和时间选择器未从所选值更新,android,dialog,onclick,Android,Dialog,Onclick,我正在从onClick()调用三个方法 第一个是日期选择器 第二个是时间选择器 第三个用于打开其他片段 我想要的是,当我点击这个片段(即NeedBloodFragment)中的按钮时,会出现日期和时间选择器,然后打开另一个片段 到目前为止,我得到的日期和时间值在这个片段和其他片段中都是空白的。问题很可能是这三个方法的调用方式很奇怪。我不知道如何正确地做这件事 守则的主要部分包括: public class NeedBloodFragment extends Fragment {

我正在从onClick()调用三个方法

  • 第一个是日期选择器
  • 第二个是时间选择器
  • 第三个用于打开其他片段
我想要的是,当我点击这个片段(即NeedBloodFragment)中的按钮时,会出现日期和时间选择器,然后打开另一个片段

到目前为止,我得到的日期和时间值在这个片段和其他片段中都是空白的。问题很可能是这三个方法的调用方式很奇怪。我不知道如何正确地做这件事

守则的主要部分包括:

    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
    没有任何值,我如何更正
  • 我调用这三种方法的方式有问题吗
    至少在投票前评论一下你的担忧。对我来说,这不是一个坏问题。为了以防万一,确保你仔细看了看,如何提问:至少在否决投票前评论一下你的担忧。对我来说,这不是一个坏问题。以防万一,请确保您仔细查看,如何询问: