【发布时间】:2018-01-19 14:47:11
【问题描述】:
我是 Android 新手。
请相应地更改代码。
想要动态显示短信,它们都是异步调用,因为我从异步调用得到响应,我需要在屏幕上显示短信。它们的顺序可能不同,如下所示。
不应等到所有异步调用完成并使用 StringBuilder 一起显示。这不是我正在寻找的解决方案。
当我收到回复时,我需要逐行显示消息(如果可能,请使用小勾号)。行数不固定,可以是 20 或 50。
谢谢。
main.xml
<RelativeLayout
android:id="@+id/llMessages"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:visibility="visible">
<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="40dp"
android:layout_marginTop="65dp"
android:inputType="textMultiLine"
android:singleLine="false"
android:textIsSelectable="false"/>
</RelativeLayout>
MainActivity.java
TextView msgs = findViewById(R.id.message);
msgs.setText("First\n");
msgs.setText("Second\n"); //<-- Text comes 3 seconds later - Async calls
msgs.setText("Third\n"); //<-- Text comes 3 seconds later - Async calls
msgs.setText("Fourth\n"); //<-- Text comes 3 seconds later - Async calls
msgs.setText("Fifth\n"); //<-- Text comes 3 seconds later - Async calls
【问题讨论】:
-
首先使用 getText().toString() 从 TextView 获取已设置的文本,然后附加新文本并将最终文本设置为 TextView。