dismiss2 Dialog를 닫았는데 background로 나갔다 들어오니 다시 열린다??? 안드로이드에서 대화상자를 띄울때 DialogFragment를 사용한다. 그런데 사용후 닫았는데도 화면을 끄거나 홈버튼을 누르거나 다른 앱을 잠시 사용한후 들어오면... 닫혔던 DialogFragment 놈이 되살아나 다시 뜨는 경우가 있다. 알고보니 dismiss 리스너를 등록하면 그런다. 즉, setDismissListener에 리스너를 넣었다면 반드시 종료할때 dismiss()를 호출해주어야 한다. 그러지않고 back 버튼이나 바깥화면 터치로 닫으면 나중에 다시 떠버린다. 당황하지 말고 다음과 같이 하자... dialog.setOnDismissListener { //리스너 내용 } dialog.setOnKeyListener { dialogInterface, i, keyEvent -> if (keyEv.. 2019. 3. 13. DialogFragment에 DismissListener를 쉽게 사용하는 방법 DialogFragment를 종료한 후 결과를 받아서 처리해야 할때가 있다. 당연히 이때는 DismissListener를 사용하면 된다. 하지만 그냥 사용하는것보다 약간의 튜닝을 하면 더 편하다. public abstract class DialogDismissListener implements DialogInterface.OnDismissListener { private HashMap mStrMap; private HashMap mIntMap; private HashMap mBoolMap; public void setValue(String key, String value) { if(mStrMap == null) mStrMap = new HashMap(); mStrMap.put(key, value); } .. 2015. 9. 21. 이전 1 다음