전 주로 앱에서 다이얼로그를 자주 만들어 쓰는데요..

 

커스텀 다이얼로그다보니 Layout 전개하고 레이아웃에 있는 모든 뷰 받아오고 하다보니

다이얼로그가 추가될때마다 코드가 많이 길어집니다.

 

액티비티를 다이얼로그처럼 보여주게 할수도 있긴 하지만 각각 다이얼로그가 액티비티로 나눌만큼 기능이 많진 않구요.

 

하여튼 다이얼로그를 많이 쓰다보니 각 다이얼로그의 모든 구현 내용을 메서드로 만들어둡니다.

 

그런데 가끔 변수에 문제가 생기는게.. 다이얼로그 내의 버튼과 같은 이벤트를 받을수 있는 컴포넌트에서

다른 변수값을 사용하거나 여기서 설정한 값을 다른 곳에서 사용할때입니다.

 

이벤트 리스너도 별도의 Inner 클래스다보니 바로 변수를 사용할수 업고 final로 선언된 변수만 사용할수 있던지 아니면 액티비티 클래스의 전역변수로 선언한것만 쓸수있더군요.

 

이렇다보니 한 다이얼로그에 있는 여러 컴포넌트 사이에 데이터 교환이 필요할때도 다이얼로그를 만들어둔 메서드 내에서 변수 선언을

할 수 없고 액티비티 클래스의 전역변수를 선언하게 되더군요.

 

이런일이 잦으니 액티비티가 지나치게 더러워지는 느낌이구요.

하나의 다이얼로그에 대한 모든 구현을 하나의 메서드로 구현한것 자체가 잘못된것인지.. 아니면 또다른 방법이 있는지 궁금합니다.