Android 在子執行緒中更新主線程UI

2021-08-11 02:15:58 字數 823 閱讀 9320

最近發現以前在eclipse中使用的runonuithread在studio中不能使了,所以又找了幾個更新ui的方法

第一種方法

new handler(context.getmainlooper()).post(new runnable() 

});

第二種方法

// 如果當前執行緒是ui執行緒,那麼行動是立即執行。如果當前執行緒不是ui執行緒,操作是發布到事件佇列的ui執行緒

// 因為runonuithread是activity中的方法,context是它的父類,所以要轉換成activity物件才能使用

((activity) context).runonuithread(new runnable()

});

第三種方法

第三種是使用handler的方法,往handler中傳送乙個訊息,然後handler接收到訊息,再在handler執行相應的操作

//這是接收訊息的handler

private handler handler = new handler()

}};//這是發訊息的

// 往handler傳送一條訊息 更改button的text屬性

message message = handler.obtainmessage();

message.what = 1;

handler.sendmessage(message);

在子執行緒中更新主窗體的控制項

定義乙個更新控制項的委託 定義乙個更新grid控制項的委託 public delegate void d updategrid datatable dt 定義乙個更新控制項的方法 public void bindgrid datatable dt 按鈕事件,初始化委託傳遞需要更新的內容,開始更新控制...

Android 在子執行緒中更新UI的幾種方法

第一種 new handler context.getmainlooper post new runnable context是你傳過來的context物件 另外一種 假設當前執行緒是ui執行緒,那麼行動是馬上執行。假設當前執行緒不是ui執行緒,操作是公布到事件佇列的ui執行緒 由於runonuit...

android 子執行緒更新UI例項

package com.example.test0207 handler import android.os.bundle import android.os.handler import android.os.message import android.view.menu import andr...