Edittext的日期和时间验证错误在android中

时间:2017-06-27 13:12:19

标签: android xml uidatepicker

您好我已经在android中对日期和时间进行了验证但是当我没有选择日期时它会显示错误消息但是从datepicker中选择日期之后再次显示错误如何解决这里是我的代码

public class ProfileDetail extends AppCompatActivity implements DatePickerDialog.OnDateSetListener {
    Toolbar toolbar;
    String description, str_requirement, str_date, str_time, str_noofperson, str_address;
    TextView txt_description;
    EditText et_requirment, date_pick, time_set, et_no_of_person, et_address_service;
    Calendar calendar;
    DatePickerDialog datePickerDialog;
    int Year, Month, Day;
    Button btn_submit;

    @RequiresApi(api = Build.VERSION_CODES.N)
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.profile_details);
        Bundle extras = getIntent().getExtras();
        description = extras.getString("description");
        txt_description = (TextView) findViewById(R.id.txtservicedetails);
        toolbar = (Toolbar) findViewById(R.id.toolbarforprofile);
        setSupportActionBar(toolbar);
        et_requirment = (EditText) findViewById(R.id.editText_requirement);
        et_no_of_person = (EditText) findViewById(R.id.et_noofperson);
        et_address_service = (EditText) findViewById(R.id.et_serviceaddress);
        date_pick = (EditText) findViewById(R.id.et_dateof_visit);
        time_set = (EditText) findViewById(R.id.et_time);

        btn_submit = (Button) findViewById(R.id.btn_submit);
        calendar = Calendar.getInstance();
        Year = calendar.get(Calendar.YEAR);
        Month = calendar.get(Calendar.MONTH);
        Day = calendar.get(Calendar.DAY_OF_MONTH);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setDisplayShowHomeEnabled(true);
        toolbar.setTitle("Need-Hlp");
        txt_description.setText(description);
        //date_pick.setInputType(InputType.TYPE_NULL);
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intentfromprevious = new Intent(ProfileDetail.this, NavigationDrawer.class);
                intentfromprevious.putExtra("description", description);
                intentfromprevious.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                intentfromprevious.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
                intentfromprevious.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
                startActivity(intentfromprevious);

            }
        });



        date_pick.setOnClickListener(new View.OnClickListener() {
            @RequiresApi(api = Build.VERSION_CODES.N)
            @Override
            public void onClick(View v) {

                datePickerDialog = DatePickerDialog.newInstance(ProfileDetail.this, Year, Month, Day);

                datePickerDialog.setThemeDark(false);

                datePickerDialog.showYearPickerFirst(false);

                datePickerDialog.setAccentColor(Color.parseColor("#009688"));

                datePickerDialog.setTitle("Select Date From DatePickerDialog");

                datePickerDialog.show(getFragmentManager(), "DatePickerDialog");


            }
        });
        time_set.setOnClickListener(new View.OnClickListener() {
            @RequiresApi(api = Build.VERSION_CODES.N)
            @Override
            public void onClick(View v) {
                Calendar mcurrentTime = Calendar.getInstance();
                int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
                int minute = mcurrentTime.get(Calendar.MINUTE);

                TimePickerDialog mTimePicker;
                mTimePicker = new TimePickerDialog(ProfileDetail.this, new TimePickerDialog.OnTimeSetListener() {
                    @Override
                    public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
                        time_set.setText(selectedHour + ":" + selectedMinute);
                    }
                }, hour, minute, true);
                mTimePicker.setTitle("Select Time");
                mTimePicker.show();

            }
        });


        //////Submit button onclicklistener
        btn_submit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (et_requirment.getText().toString().equals("")) {
                    et_requirment.setError("Requirement cannot be blank");
                    et_requirment.requestFocus();
                    return;
                }
                if (date_pick.getText().toString().equals("")) {
                    date_pick.setError("Date cannot be blank");

                    //date_pick.requestFocus();
                    return;
                }

                if (time_set.getText().toString().equals("")) {
                    time_set.setError("Time cannot be blank");
                    //edittext_phone.requestFocus();
                    return;
                }

                if (et_no_of_person.getText().toString().toString().equals("")) {
                    et_no_of_person.setError("No of person cannot be blank");
                    //edittext_phone.requestFocus();
                    return;
                }
                if (et_address_service.getText().toString().equals("")) {
                    et_address_service.setError("Address cannot be blank");
                    //edittext_Password.requestFocus();
                    return;
                }


                if (!et_requirment.getText().toString().trim().equals("") && !date_pick.getText().toString().equals("") &&
                        time_set.getText().toString().trim().equals("") &&
                        et_no_of_person.getText().toString().trim().equals("") &&
                        !et_address_service.getText().toString().equals("")) {
                    Toast.makeText(ProfileDetail.this, "You Request Submitted", Toast.LENGTH_SHORT).show();
                    Intent intentforlist = new Intent(ProfileDetail.this, NavigationDrawer.class);
                    intentforlist.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    intentforlist.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
                    intentforlist.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
                    startActivity(intentforlist);
                }

            }
        });
    }

Here Is MY XML:

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="-45.5dp"
                    android:layout_marginRight="16dp"
                    android:layout_marginTop="32dp">


                    <LinearLayout
                        android:id="@+id/profile_details"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="vertical">

                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:background="@color/demo"

                            android:orientation="vertical"
                            android:padding="16dp">

                            <TextView
                                android:id="@+id/txtservicedetails"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:layout_gravity="center"
                                android:layout_marginBottom="20dp"
                                android:layout_marginTop="40dp"
                                android:gravity="center"
                                android:text="@string/app_name"
                                android:textColor="#fff"
                                android:textSize="20sp"
                                android:textStyle="bold" />

                            <EditText
                                android:id="@+id/editText_requirement"
                                android:layout_width="match_parent"
                                android:layout_height="70dp"
                                android:layout_margin="3dp"
                                android:background="#fff"
                                android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
                                android:gravity="top"
                                android:hint="Your Requirement"
                                android:inputType="textMultiLine|textCapSentences"
                                android:padding="6dp"
                                android:textColor="#000" />

                            <EditText
                                android:id="@+id/et_dateof_visit"
                                android:layout_width="match_parent"
                                android:layout_height="40dp"
                                android:layout_margin="5dp"
                                android:background="#fff"

                                android:hint="Date Of Visit"
                                android:inputType="date"
                                android:maxLines="1"
                                android:padding="5dp"
                                android:textColor="#000" />

                            <EditText
                                android:id="@+id/et_time"
                                android:layout_width="match_parent"
                                android:layout_height="40dp"
                                android:layout_margin="5dp"
                                android:background="#fff"

                                android:hint="Time Of Visit"
                                android:inputType="time"
                                android:maxLines="1"
                                android:padding="5dp"
                                android:textColor="#000" />

                            <EditText

                                android:id="@+id/et_noofperson"
                                android:layout_width="match_parent"
                                android:layout_height="40dp"
                                android:layout_margin="5dp"
                                android:background="#fff"
                                android:focusable="true"
                                android:hint="No Of Person You Need"
                                android:inputType="number"
                                android:maxLength="2"
                                android:maxLines="1"
                                android:padding="5dp"
                                android:singleLine="true"
                                android:text="" />

                            <EditText

                                android:id="@+id/et_serviceaddress"
                                android:layout_width="match_parent"
                                android:layout_height="70dp"
                                android:layout_margin="5dp"
                                android:background="#fff"
                                android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890/-,:"
                                android:focusable="true"
                                android:gravity="top"
                                android:hint="Service Address"
                                android:inputType="textMultiLine|textCapSentences"
                                android:maxLines="4"
                                android:padding="10dp"
                                android:singleLine="true"
                                android:text="" />


                        </LinearLayout>

                        <RelativeLayout
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:layout_marginBottom="20dp"
                            android:layout_marginTop="-20dp"
                            android:gravity="center">

                            <Button
                                android:id="@+id/btn_submit"
                                style="@style/Widget.AppCompat.Button.Colored"
                                android:layout_width="wrap_content"
                                android:layout_height="40dp"
                                android:background="@drawable/rounded_green"
                                android:text="Submit"
                                android:textStyle="bold" />

1 个答案:

答案 0 :(得分:0)

在您的日期添加此点击希望它适合您

final Calendar myCalendar = Calendar.getInstance();
            DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() {
                @Override
                public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                    // TODO Auto-generated method stub
                    myCalendar.set(Calendar.YEAR, year);
                    myCalendar.set(Calendar.MONTH, monthOfYear);
                    myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
                    String myFormat = "yyyy-MM-dd"; // your format
                    SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.getDefault());

                    date_pick.setText(sdf.format(myCalendar.getTime()));
                }

            };
            new DatePickerDialog(this, date, myCalendar.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH), myCalendar.get(Calendar.DAY_OF_MONTH)).show();