android 子线程使用handle修改主线线程内容

Posted zoro-zero

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 子线程使用handle修改主线线程内容相关的知识,希望对你有一定的参考价值。

1、子线程使用handle修改主线线程内容简单案例

1)、activity_handle.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".HandleActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="129dp"
        android:layout_marginTop="69dp"
        android:text="@string/显示内容"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="116dp"
        android:layout_marginTop="248dp"
        android:text="@string/button2"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

2、HandleActivity.java

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class HandleActivity extends AppCompatActivity 
    private Button btn;
    private TextView tv;

    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_handle);

        btn = findViewById(R.id.button3);
        tv = findViewById(R.id.textView);

        btn.setOnClickListener(new View.OnClickListener() 
            @Override
            public void onClick(View view) 
                new Thread()

                    @Override
                    public void run() 
                            super.run();
                        Message msg=new Message();
                        msg.what = 1;
                        handler.sendMessage(msg);
                    
                .start();
            
        );
    

    Handler handler = new Handler()
        @Override
        public void handleMessage(Message msg) 
            super.handleMessage(msg);
            if(msg.what==1)
                tv.setText("子线程使用handle修改主线程控件内容");
            
        
    ;

 

以上是关于android 子线程使用handle修改主线线程内容的主要内容,如果未能解决你的问题,请参考以下文章

Android中的Handle(句柄)

Android 使用handler实现线程间发送消息 (主线程 与 子线程之间)(子线程 与 子线程之间)

按键精灵 用全局变量控制线程 子线程控制主线

Android 在子线程中更新UI的几种方法示例

android handle详解3 ThreadHandler

android使用progressBar的时候,使用子线程修改进度的时候没有效果啊 代码如下 望高手解答 谢谢