내 응용 프로그램에서 성가신 동작이 있습니다. 그것은 나의 costumers에게 문제를 일으키는 원인이되고있다.모달 대화 상자가 나타나지 않습니다.
이 앱에는 대화 상자 (모달)를 표시해야하는 몇 가지 사항이 있으며 사용자가 일부 필드를 채운 다음 대화 상자를 닫을 수 있습니다. 그래서 시스템은 자연 경로를 따른다.
결정된 순간에 정상적으로 작동합니다. 대화 상자가 표시되고 사용자가 해당 대화 상자와 상호 작용하며 닫습니다.
하지만 다른 대화 상자에서는 자동으로 대화 상자가 표시되지 않습니다. 사용자는 기기에서 외부 동작 (예 : 방향 변경, 화면 중앙 터치, 스크롤 제스처 실행 등)을 실행해야합니다. 현재 직관적이지 않은 행동입니다. 이 동작은 사용자가 내 응용 프로그램이 멈춘 것으로 생각하게합니다. 나에게 다이얼로그가 호출되었다는 것은 분명하다. 단순히 화면에 그려지지 않았다.
나는이 문제에 대해 읽어 보았습니다. 나는 비슷한 질문에 대한 연구를 성공하지 못했습니다. 그 원인은 EDT와 관련이 있다고 생각합니다.
요약하면 EDT 규칙을 위반하지 않고 대화 상자 모달을 호출 할 수 있습니다. 더 구체적으로이 문제를 어떻게 해결할 수 있습니까? 화면에 대화 상자를 표시하도록 요청하면 실제로 100 %의 경우에 나타납니다. 오늘은 무작위로 작동합니다.
추가 정보 : 내 응용 프로그램은 아직 Java 5를 사용합니다. Java 8로 마이그레이션 할 것을 권장합니까? (1) ===========
이 문제
======= 추가 정보는 장치 모델의 강하게 의존한다. MotoG3 (Android 6)에서이 문제는 예외입니다. 드물게 발생합니다. 내 갤럭시 노트 8은 반대입니다. 항상 발생합니다. 레노버 Vibe5 (안드로이드 6). 자주 발생합니다. 이 정보를 추가했습니다. 어쩌면 문제 그림을 복합화하는 데 도움이 될 수 있습니다.
추가 질문 : 템플릿으로 사용할 수있는 스 니펫을 쓸 수 있습니까? EDT의 일부 규칙을 어기 지 않고 대화 상자 모달 호출을 실행하려면 가능합니까? 이러한 문제를 감지합니다 시뮬레이터에서 EDT 위반 탐지 도구에
는
예, Java 8로 마이그레이션하십시오. 마지막 java 5 릴리스는 7 년 전이었습니다. 그것은 고통이 될 것입니다 ... –
귀하의 코멘트를 가져 주셔서 감사합니다. – hrugani