소켓통신을 통해 챗팅 서버를 구현중인데요
안드로이드(클라이언트) -> MFC(서버) -> 안드로이드(클라이언트)
안드로이드에서 서버로 메세지를 보내면
서버에서는 그 문자열을 다시 안드로이드로 보내주는데요
send버튼을 누르면 서버에는 받아서 리스트에 보여줍니다.
동시에 클라이언트로 전송하는데요
안드로이드에서는 리스트에 넣어 주질 않네요
키보드 창을 내리는 순간에 최신화를 하는 겁니다.
그래서 검색해보니 adapter.notifyDataSetChanged(); 를 해주라고 해서
Send 버튼에 해주니까 또 안되서
리시브 되면 해야겠다 싶어 리시브에 넣으니까 죽네요...
어떻게 해야 될지 감이 안잡힙니다 ㅠ
아래는 리시브 클래스입니다.
public class RecvClient implements Runnable
{
int size;
byte[] w = new byte[1024];
private RecvClient()
{
}
public void run()
{
while (socket != null && socket.isConnected())
{
try
{
size = in.read(w);
if (size <= 0)
continue;
String txtReceive = new String(w, 0, size, "UTF-8");
Dealer p1 = new Dealer(txtReceive);
m_orders.add(p1);
m_adapter.notifyDataSetChanged(); <<<<<=====이부분에서 죽네요 ㅠ
} catch (IOException e)
{
Log.e("TCP", "S: Error", e);
}
}
}
}




초보라서 저도 잘 모르긴 하지만,,
view를 바꾸는 부분인데,, 핸들러를 써야하지 않을까요?