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

runOnUiThread 에서 textview 갱신? 이 안됩니다.

0 추천

클래서 구성은 이렇습니다

MainActivityClass

ControlActivityClass

BluetoothClass

 

MainActivityClass 에서 블루투스를 연결하고 ControlActivityClass를 intent 하여 시작합니다.

ControlActivityclass에 들어와선 블루투스로 수신데이터가 있을경우 Observer를 통해 ControlActivityClass내에 있는

TextView의 Text를 update 시켜 줍니다

또한 이후에 들어오는 데이터 들도 Textview 에 업데이트가 잘됩니다. 

 

하지만 ControlActivityClass 에서 Back키를 눌러 finish() 를 주고 다시 MainActivityClass로 넘어옵니다.

그리곤 다시 ControlActivityClass를 intent 하여 시작합니다.

 
그런데 이때부터는 블루투스로 데이터가 수신되어도 TextView에 update 되지가 않습니다.
 
Textivew.setText(): 분에 로그를 찍어보면 수신데이터가 정상적으로 들어오는걸 확인하였습니다.
다만 TextView의 setText가 업데이트 되지 않는거 같습니다..
 
엑티비티를 나갓다 왔을 뿐인데 textview의 텍스트가 업데이트가 안되는지 잘 모르겠습니다.
 조언 부탁드립니다 !
 
====================================
[[[[    MainActivityClass.java    ]]]]


public class MainActivityClass extends Activity {
 .
 .
 .
 Button.OnClickListener mBtnClickListener= new View.OnClickListener(){
    @Override
    public void onClick(View v) {

        Intent controlIntent = new Intent(MainActivityClass.this, ControlActivityclass.class);

        }
   }


}





 [[[[   ControlActivityclass.java   ]]]


public class ControlActivityclass extends Activity implements Observer, GestureDetector.OnGestureListener {

.
.
.
    @Override
    public void update(Observable observable, Object data) {

        this.runOnUiThread(new Runnable() {

            @Override
            public void run() {
                try {

                    Log.d("Activity_", "----------- Data : " + gData.getData());
                    mTextView_.setText(gData.getData());

                } catch (Exception e) {
                    Log.d("Activity_", "Fail >> " + e.toString());
                }
            }
        });


    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        switch (keyCode) {
            case KeyEvent.KEYCODE_BACK:

                this.finish();

                }
                return true;
        }
        return super.onKeyDown(keyCode, event);
    }


}

 

 

용돌이요 (120 포인트) 님이 2014년 10월 16일 질문

1개의 답변

0 추천

mTextView_.setText("" + gData.getData());

이렇게 해보세여

갸아악 (21,260 포인트) 님이 2014년 10월 16일 답변
그래도 증상은 동일합니다..
단지 finish 하고 다시 들어왓을 뿐인데 Log는 찍히는데 setText는 update가 안되네요..
...