텍스트 메시지 용 TextView와 입력 용 EditText가있는 간단한 채팅 응용 프로그램을 구현하고 있습니다. 나는 다음과 같은 방법으로 내 텍스트 뷰를 업데이트UI에서 EditText 및 TextView를 동시에 편집하는 방법
private void addChatContent(String authorName, String content){
final String newLine = authorName+" : "+content+"\n";
chat_content.append(newLine);
scroll.post(new Runnable(){
@Override
public void run() {
scroll.smoothScrollTo(0, chat_content.getBottom()+5000);
}
});
}
내가 직면하고있어 문제가 : 새로운 수신 메시지가있는 경우, UI 스레드가 텍스트 뷰를 새로 고침 바쁜 될 것입니다. 내 EditText가 지연되어 입력 내용을 편집하기 어렵습니다. TextView를 다른 스레드로 새로 고칠 수 없습니다. 그래서이 제한을 극복하기 위해해야합니까? 누군가 내게 빛을 줄 수 있습니까? 미리 감사드립니다.
실제 휴대 전화 또는 에뮬레이터에서 지연됩니까? – sealz
editext에 대한 텍스트 감시자를 만들고 텍스트 감시자에서 텍스트를 변경 한 후에 텍스트 뷰를 업데이트하십시오. –
더 명확한 안내를 위해'addChatContent'를 호출하는 핸들러 코드를 게시하십시오. –