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

버튼 이미지 변경 문의 건

0 추천

Handler로 부터 응답을 받으면 버튼 이미지를 변경하는 것 입니다.

근데 처음 앱 기동 시, onCreate 된 상태에서는 변경이 잘 됩니다만,

1. Intent를 활용하여 자기 자신을 재호출 하는 경우가 있습니다. 그 상태에서는 변경이 되지 않습니다.

Log로 Handler에 들어온 것 까지 확인 했으며, 디버깅 하여 한줄 한줄 넘어가는걸 확인했지만

실질적으로 화면에서는 변경되지 않았습니다.

 

혹시 Intent에서 자신을 호출할때 따로 설정해 주어야 하는 부분이 있나요?

소스를 첨부하오니, 도움 부탁드립니다

//////////////////////////////// Intent 하는 부분 ////////////////////////////////

finish();

        Intent myIntent = new Intent(MainActivity.this, MainActivity.class);

        startActivity(myIntent);

 

 

//////////////////////////////// Handler 부분 ////////////////////////////////

case Service.STATE_CONNECTED :

                    runOnUiThread(new Runnable() {

                        public void run() {

                            Log.d(TAG, "mHandler  ::  STATE_CONNECTED");

                            btnConnection.setBackgroundResource(R.drawable.btn_bt_connected);

                        }

                    });

 

                    break;

 

쮸뿌쮸뿌 (2,470 포인트) 님이 2017년 2월 7일 질문

1개의 답변

0 추천
Activity가 이미 create 된 상태에서 다시 호출을 하게되면

onNewIntent 함수를 타도록 되어 있습니다. onNewIntent 함수를 오버라이드 하여 사용하세요.
Development Guy (70,570 포인트) 님이 2017년 2월 7일 답변
답변 감사합니다! 제가 적은 글에 빠진 부분이 있는데 버튼 3개 중 2개만 안바뀌는건데 상관이 있을까요?
코드를 제가 볼수 없어서 정확한 것은 제가 알수 없으나 위에 질문 올리신 내용만 봐서는 onCreate 에 구현된 부분이 안바뀐다고 말씀하시는거 같은데요?
그러면 제가 답변 드린대로 해보세요.
블루투스 통신 소스입니다만,
앱 내에서 장비 3대를 붙이고 있습니다. 각각의 불루투스 서비스 클래스로 관리하고 있구요. 클래스 주소값을 onCreate()에서 로그로 찍어보니, 변경되지 않는 2개의 이미지(장비)의 클래스 값은 고정, 변경되는 이미지(장비)의 클래스의 주소값은 계속 값이 변합니다. 같은 UI 처리인데 Toast는 띄어지는데 이미지만 변경이 안될 수가 있나요ㅠㅠ...
...