클래서 구성은 이렇습니다
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);
}
}