安卓开发中,revTemp.setText(ReceiveTemp);界面还是显示为0,但值已经不为0,不知道什么原因?
用代码块功能插入代码,请勿粘贴截图
这个是mian页面的
<FrameLayout
android:id="@+id/id_content"
android:layout_width="355dp"
android:layout_weight="1"
android:layout_height="0dp">
这个是在collect页面的
<TextView
android:id="@+id/ReceiveTemp"
android:layout_width="90dp"
android:layout_height="55dp"
android:layout_gravity="center"
android:text="0"
android:textSize="40sp"
android:gravity="center"
android:textColor="@color/black"
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
LayoutInflater inflater3 = getLayoutInflater();
View layout3 = inflater3.inflate(R.layout.activity_collect,findViewById(R.id.ReceiveTemp));
revTemp = layout3.findViewById(R.id.ReceiveTemp);
}
private void rcvMsgHandler() {
new Thread(() -> {
while (true) {
String msg = rcvMsg();
if (msg != null) {
try {
object = new JSONObject(msg);
try {
String ReceiveTemp = object.getString("temperature");
revTemp.setText(ReceiveTemp);
Log.v("温度:", ReceiveTemp);
} catch (JSONException jsonException) {
jsonException.printStackTrace();
运行结果及报错内容
界面显示一直为0,但打印输出的有值