마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

AsyncTask에서 레이아웃을 변경하고 싶습니다.

0 추천

AsyncTask를 이용해서 DB에서 데이터 a를 불러오는 메소드가 있습니다.

이 불러온 a값에 따라 조건문을 걸어 다른 레이아웃을 띄우고 싶은데요.

.add 같은거 말고 xml을 통째로 바꿀 수 있는 방법이 있을까요?

특히 저는 프래그먼트에서 구현중이라서 더 난감하네요.

코린이 (200 포인트) 님이 2018년 7월 9일 질문

1개의 답변

0 추천
 
채택된 답변
1. Activity로 callback을 보내, 아래 명령어를 호출하여 onCreateView를 재 호출하고 onCreateView에서 원하는 UI를 로드하게 할 수 있습니다.
getFragmentManagerg ().beginTransaction().detach(this).attach(this).commit();

http://codesnippets.fesslersoft.de/how-to-refresh-the-current-android-fragment/

2. 덜 깔끔하긴  하지만 UI를 <Include> tag 같은 것으로 전부 add 해 둔 후 사용하는 부분만 SHOW, 나머진 GONE 시켜서 사용할 수 있을 듯 합니다.
익명사용자 님이 2018년 7월 9일 답변
코린이님이 2018년 7월 9일 채택됨
답변감사합니다. 정 안되면 두번째 방법으로라도 해야겠네요...
첫번째를 쓰면 화면이 깜빡일 것 같고, 뭔가 깔끔한 방법이
없을까요ㅠㅠ
...