1、子スレッドのスレッドメインコンテンツ単純なケースを変更するためにハンドルを使用して
1)、activity_handle.xml
<?XMLバージョン= "1.0"エンコード= "UTF-8" ?> < androidx.constraintlayout.widget.ConstraintLayout のxmlns:アンドロイド= "http://schemas.android.com/apk/res/android" のxmlns:アプリ= "HTTP ://schemas.android.com/apk/res-auto」 のxmlns:ツール= "http://schemas.android.com/tools" のandroid:layout_width = "match_parent" のandroid:layout_height = "match_parent" ツール:コンテキスト= ".HandleActivity" > < のTextViewの アンドロイド:ID = "@ + ID / TextViewの" アンドロイド:layout_width = "wrap_content" アンドロイド:layout_marginStart = "129dp" アンドロイド:layout_marginTop = "69dp" アンドロイド:テキスト= "@文字列/显示内容" アプリ:layout_constraintStart_toStartOf = "親" アプリ:layout_constraintTop_toTopOf = "親" /> < ボタン アンドロイド:ID = "@ + ID /ボタン3" アンドロイド:layout_width = "wrap_content" アンドロイド:layout_height = "wrap_content" アンドロイド:layout_marginStart = "116dp" アンドロイド:layout_marginTop = "248dp" アンドロイド:テキスト=」@文字列/ボタン2" アプリ:layout_constraintStart_toStartOf = "親" アプリ:layout_constraintTop_toTopOf = "親" /> </ androidx.constraintlayout.widget.ConstraintLayout >
2、HandleActivity.java
パッケージcom.example.myapplication。 輸入androidx.appcompat.app.AppCompatActivity。 輸入android.os.Bundle; 輸入android.os.Handler。 輸入android.os.Message。 輸入android.view.View。 輸入android.widget.Button; 輸入android.widget.TextView。 パブリック クラス HandleActivityは拡張AppCompatActivity { プライベートボタンBTNを。 民間のTextViewテレビ; @Override 保護された ボイドのonCreate(バンドルsavedInstanceState){ スーパー.onCreate(savedInstanceState)。 setContentView(R.layout.activity_handle)。 BTN = findViewById(R.id.button3)。 TV = findViewById(R.id.textView)。 btn.setOnClickListener(新しいView.OnClickListener(){ @Override 公共 のボイドのonClick(ビュービュー){ 新しいスレッド(){ @Override 公共 のボイドの実行(){ スーパー.RUN(); メッセージmsg = 新しいメッセージ(); MSG。何1 = ; handler.sendMessage(MSG); } } .start(); } }); } ハンドラハンドラ = 新しい新しいハンドラ(){ @Override 公共 ボイドのhandleMessage(メッセージMSG){ スーパー.handleMessage(MSG)、 IF(MSG == 1 .what。){ tv.setText( "制御ハンドルの内容を変更するメインスレッドを使用して、子スレッド" ); } } }; }