Сделал так,чтоб каждое входящее сообщение записывалось в свой TextView.
Этот метод вызывается в потоке.
public void inputMessage(){
try {
InputStream inputStream = socket.getInputStream();
DataInputStream dataInputStream = new DataInputStream(inputStream);
String stringInputMessage;
while (true){
if ((stringInputMessage = dataInputStream.readUTF()) != null){
final String finalStringInputMessage = stringInputMessage;
runOnUiThread(new Runnable() {
@Override
public void run() {
TextView textViewMessage = createTextView();
textViewMessage.setText(finalStringInputMessage);
listMessage.add(textViewMessage);
listViewMessage.setAdapter(arrayAdapterMessage);
}
});
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
Этот отдельно от потока.
private TextView createTextView() {
textViewMessage = new TextView(this);
return textViewMessage;
}
В конечном итоге получается такая картина.
Элементы добавляются, но текста на них нет.