RabbitMQ 서버에서 주제를 듣고 텍스트보기에 메시지를 표시하는 테스트 Android 앱을 만들었습니다.TextView 페인트 텍스트가 업데이트 및 스크롤 할 때 깨졌습니다.
'출력'textview에 추가 된 모든 새 메시지에서 새 텍스트가 이전 텍스트 위에 그려지는 것을 제외하고는 모두 잘 작동합니다. 두 번째 이미지에서 볼 수 있듯이 스크롤 할 때도 마찬가지입니다. 앱이 백그라운드로 이동하고 다시 활성화되면 텍스트가 다시 정상적으로 표시됩니다 (그림 1 참조).
내 레이아웃은 정말 간단하다 : 내가 잘못 뭐하는 거지? ,이 문제가 해결되지 않을 경우 방법은 모든 경우에서() 호출 무효화를 제거
final Handler myViewUpdateHandler = new Handler() {
// @Override
public void handleMessage(Message msg) {
switch (msg.what) {
case NEWSTATUS:
status.setText((String) msg.obj);
status.invalidate();
//also add to output
case NEWMESSAGE:
String oldText= (String) output.getText();
output.setText("");
String newText = DateUtil.getClockTimeMillis()+" "+(String) msg.obj+"\n"+oldText;
output.setText(newText);
output.invalidate();
break;
default:
throw new IllegalArgumentException("no case for:" + msg.arg1);
}
super.handleMessage(msg);
}
};
당신이 묘사 한대로, 처음에는 전체 화면으로의 액티비티를 생성했습니다. 정상으로 변경하고 실제로 스타일은 여전히 전체 화면이었습니다. 불행히도 프로젝트가 닫히면 더 이상 코드를 테스트 할 수 없습니다 (더 이상 테스트 코드가 필요 없습니다). 나는 당신이 yoiur 분석과 해결책에 있다고 생각합니다. – bluevoid