Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.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_Android Timepicker - Fatal编程技术网

Android 用户无法在指定时间之前设置时间

Android 用户无法在指定时间之前设置时间,android,android-timepicker,Android,Android Timepicker,这是我的XML文件,名为create_event.XML <!-- Start Date --> <LinearLayout style="@style/create_event_exc_margin_bottom" android:layout_width="match_parent" android:layout_height="wrap_content"

这是我的XML文件,名为create_event.XML

<!--  Start Date  -->
          <LinearLayout
            style="@style/create_event_exc_margin_bottom"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <TextView
                style="@style/create_event_exc_infotext_bold"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/start_date" />
            </LinearLayout>

             <LinearLayout
                 style="@style/create_event_exc_margin_bottom"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:orientation="horizontal" >
                <EditText 
                    style="@style/create_event_infotext_normal"
                    android:textColor="@android:color/black"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content" 
                     android:layout_weight="1"
                     android:background="@drawable/extra_desc"
                     android:id="@+id/start_date">
                </EditText>

                <Button 
                    android:layout_height="wrap_content"
                    android:layout_weight="0" 
                    android:id="@+id/btn_start_calender"
                    android:text="Calendar"
                    android:layout_width="100dp">
                </Button> 

             </LinearLayout>

        <!--  Start Time  -->      
               <LinearLayout
            style="@style/create_event_exc_margin_bottom"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <TextView
                style="@style/create_event_exc_infotext_bold"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/start_time" />
            </LinearLayout>

             <LinearLayout
                 style="@style/create_event_exc_margin_bottom"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:orientation="horizontal" >

                 <EditText 
                     style="@style/create_event_infotext_normal"
                    android:textColor="@android:color/black"
                     android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                android:layout_weight="1"
                android:background="@drawable/extra_desc"
            android:id="@+id/start_time">

        </EditText>

    <Button 
        android:layout_height="wrap_content"
        android:layout_weight="0" 
        android:id="@+id/btn_start_timepicker"
        android:text="Time Picker" 
        android:layout_width="100dp"></Button>

                 </LinearLayout>

              <!--  End Date  --> 
               <LinearLayout
            style="@style/create_event_exc_margin_bottom"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <TextView
                style="@style/create_event_exc_infotext_bold"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/end_date" />
            </LinearLayout>

             <LinearLayout
                 style="@style/create_event_exc_margin_bottom"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:orientation="horizontal" >

                 <EditText 
                     style="@style/create_event_infotext_normal"
                    android:textColor="@android:color/black"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content" 
                     android:layout_weight="1"
                     android:background="@drawable/extra_desc"
                     android:id="@+id/end_date">
                </EditText>
                <Button 
                    android:layout_height="wrap_content"
                    android:layout_weight="0" 
                    android:id="@+id/btn_end_calender" 
                    android:text="Calendar"
                    android:layout_width="100dp">
                </Button> 
             </LinearLayout>

              <!--  End Time  --> 
                <LinearLayout
            style="@style/create_event_exc_margin_bottom"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <TextView
                style="@style/create_event_exc_infotext_bold"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/end_time" />
            </LinearLayout>

             <LinearLayout
                 style="@style/create_event_exc_margin_bottom"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:orientation="horizontal" >

                 <EditText 
                     style="@style/create_event_infotext_normal"
                    android:textColor="@android:color/black"
                     android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                android:layout_weight="1"
                android:background="@drawable/extra_desc"
            android:id="@+id/end_time">

        </EditText>

    <Button 
        android:layout_height="wrap_content"
        android:layout_weight="0" 
        android:id="@+id/btn_end_timepicker"
        android:text="Time Picker" 
        android:layout_width="100dp"></Button>

                 </LinearLayout>

在这里,我想在开始时间和结束时间之间至少有3个小时的差异。这意味着结束时间必须比开始时间晚3小时。我该怎么做?把条件放在哪里?请帮助。

System.currentTimeMillis-1000这是1秒前的时间…但我不想设置当前时间。。我想在开始时间3小时后设置结束时间。。。
public class Create_Event extends SherlockFragment implements OnClickListener {

Button b_start_calender, b_end_calender, b_start_timepicker, b_end_timepicker;
EditText start_date, start_time, end_date, end_time;
private int start_year, start_month, start_day, start_hour, start_minute;
private int end_year, end_month, end_day, end_hour, end_minute;

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

b_start_calender=(Button)rootView.findViewById(R.id.btn_start_calender);
    b_start_timepicker=(Button)rootView.findViewById(R.id.btn_start_timepicker);
    b_end_calender=(Button)rootView.findViewById(R.id.btn_end_calender);
    b_end_timepicker=(Button)rootView.findViewById(R.id.btn_end_timepicker);

    start_date=(EditText)rootView.findViewById(R.id.start_date);
    start_time=(EditText)rootView.findViewById(R.id.start_time);
    end_date=(EditText)rootView.findViewById(R.id.end_date);
    end_time=(EditText)rootView.findViewById(R.id.end_time);

    b_start_calender.setOnClickListener(this);
    b_start_timepicker.setOnClickListener(this);
    b_end_calender.setOnClickListener(this);
    b_end_timepicker.setOnClickListener(this);

return rootView;        
}


@Override
public void onClick(View v) {
    // TODO Auto-generated method stub


if(v==b_start_calender) {
    final Calendar c=Calendar.getInstance();
    start_year=c.get(Calendar.YEAR);
    start_month=c.get(Calendar.MONTH);
    start_day=c.get(Calendar.DAY_OF_MONTH);

    DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {

        public void onDateSet(DatePicker view, int year,
                int monthOfYear, int dayOfMonth) {
startDate = Calendar.getInstance();
            startDate.set(Calendar.YEAR, year);
            startDate.set(Calendar.MONTH, monthOfYear);
            startDate.set(Calendar.DAY_OF_MONTH, dayOfMonth);
           start_date.setText(dayOfMonth + "-"
                    + (monthOfYear + 1) + "-" + year);
        }
    };
    DatePickerDialog d = new DatePickerDialog(getActivity(),
             mDateSetListener, start_year, start_month, start_day);
d.getDatePicker().setMinDate(System.currentTimeMillis()- 1000);
    d.show();
}  

if(v==b_start_timepicker) {
    final Calendar c = Calendar.getInstance();
    start_hour=c.get(Calendar.HOUR_OF_DAY);
    start_minute=c.get(Calendar.MINUTE);

    TimePickerDialog.OnTimeSetListener mTimeSetListner = new TimePickerDialog.OnTimeSetListener() {

        @Override
        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
            start_time.setText(hourOfDay + ":" + minute);
        }
    };
    TimePickerDialog t=new TimePickerDialog(getActivity(), mTimeSetListner, start_hour, start_minute,false);
    t.show();
}

if(v==b_end_calender) {
    final Calendar c=Calendar.getInstance();
    end_year=c.get(Calendar.YEAR);
    end_month=c.get(Calendar.MONTH);
    end_day=c.get(Calendar.DAY_OF_MONTH);

    DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener()  {
        public void onDateSet(DatePicker view, int year,
                int monthOfYear, int dayOfMonth)  {
Calendar newEndDate=Calendar.getInstance();
            newEndDate.set(Calendar.YEAR, year);
            newEndDate.set(Calendar.MONTH, monthOfYear);
            newEndDate.set(Calendar.DAY_OF_MONTH, dayOfMonth);



            if(newEndDate.before(startDate))
            {
                end_date.setText("Plz.. enter date after starting date..");

            }

            else
            {

                end_date.setText(dayOfMonth + "-"
                        + (monthOfYear + 1) + "-" + year);

            }


        }
    };
    DatePickerDialog d = new DatePickerDialog(getActivity(),
             mDateSetListener, end_year, end_month, end_day);
d.getDatePicker().setMinDate(System.currentTimeMillis()- 1000);
    d.show();       
}  


if(v==b_end_timepicker) {
    final Calendar c = Calendar.getInstance();
    end_hour=c.get(Calendar.HOUR_OF_DAY);
    end_minute=c.get(Calendar.MINUTE);

    TimePickerDialog.OnTimeSetListener mTimeSetListner = new TimePickerDialog.OnTimeSetListener()  {

        @Override
        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
            end_time.setText(hourOfDay + ":" + minute);
        }
    };
    TimePickerDialog t=new TimePickerDialog(getActivity(), mTimeSetListner, end_hour, end_minute,false);
    t.show();
}
}