Android 사용자 정의 Dialog, 확인 버튼을 클릭하여 조건에 따라 사라짐 여부를 판단합니다

3225 단어
Dialog를 사용자 정의하지만 확인 단추를 눌렀을 때 대화 상자가 사라집니다. 이것은 제 요구에 맞지 않습니다. 확인을 눌렀을 때 일정한 조건을 충족시켰는지 판단해야 합니다. 만족하지 않으면 사라집니다. 만족하지 않으면 힌트를 주지만 대화 상자는 사라지지 않습니다. 예를 들어 사용자 정의 시간 선택 컨트롤,선택한 종료 시간이 시작 시간보다 적으면 힌트를 주지만 선택한 시간의 이 Diolog는 사라지지 않습니다.
간단합니다. 디스미스 방법을 다시 쓰면 됩니다.
  @Override
    public void dismiss() {
        if (notcanDis) {
            Toast.makeText(context,"            ",Toast.LENGTH_SHORT).show();
            notcanDis=false;//     false,       ,                  
        } else {
            super.dismiss();
        }
    }

이 notcanDis 변수는 확인을 눌렀을 때 조건에 부합되는지 여부를 판단해서 진짜인지 여부를 제어합니다.
 @Override
    public void onClick(DialogInterface dialog, int which) {
        switch (which) {
            case BUTTON_POSITIVE:
                if (mDateSetListener != null) {
                    int startYear = start_datePicker.getYear();
                    int startMoonth = start_datePicker.getMonth();
                    int startDay = start_datePicker.getDayOfMonth();
                    int endYear = end_datePicker.getYear();
                    int endMoonth = end_datePicker.getMonth();
                    int endDay = end_datePicker.getDayOfMonth();
                    Date start = new Date(startYear, startMoonth, startDay);
                    Date end = new Date(endYear, endMoonth, endDay);
                    if (end.getTime() < start.getTime()) {
                        notcanDis = true;
                    } else {
                        notcanDis = false;
                        start_datePicker.clearFocus();
                        end_datePicker.clearFocus();
                        mDateSetListener.onDateSet(startYear,
                                startMoonth, startDay, endYear,
                                endMoonth, endDay);
                    }
                }
                break;
            case BUTTON_NEGATIVE:
                cancel();
                break;
        }
    }

이로써 나의 요구를 실현시켰다...매일 한 어록: 길이 옳다면 짧든 멀든 두려워하지 마라. 너는 결국 도착할 것이다...

좋은 웹페이지 즐겨찾기