android 子執行緒更新UI例項

2021-09-14 03:08:57 字數 1078 閱讀 9565

package com.example.test0207_handler;

import android.os.bundle;

import android.os.handler;

import android.os.message;

import android.view.menu;

import android.view.view;

import android.view.view.onclicklistener;

import android.widget.button;

import android.widget.textview;

public class mainactivity extends activity

//在mainathread執行緒中接收資料,從而修改textview的值

class myhandler extends handler

}//生成執行緒物件,讓networkthread執行緒啟動

class buttonlistener implements onclicklistener

}//在worker thread執行緒中傳送資料

class networkthread extends thread catch (interruptedexception e)

//變數s的值,模擬從網路當中獲取的資料

string s = "從網路中獲取的資料" ;

; //這種做法是錯誤的,只有在mainthread中才能操作ui

//開始傳送訊息

message msg = handler.obtainmessage() ;

msg.obj = s ;

handler.sendmessage(msg) ;//sendmessage()方法,在主線程或者worker thread執行緒中傳送,都是可以的,都可以被取到

}}

@override

public boolean oncreateoptionsmenu(menu menu)

}

Android之在子執行緒更新UI 一

方法一 用handler 1 主線程中定義handler handler mhandler new handler 2 子執行緒發訊息,通知handler完成ui更新 private void updateweather start 方法一的handler物件必須定義在主線程中,如果是多個類直接互相...

子執行緒更新UI

一般在winform c s程式中經常會在子執行緒中更新控制項的情況,桌面程式ui執行緒是主線程,當試圖從子執行緒直接修改控制項屬性時會出現 從不是建立控制項的執行緒訪問它 的異常提示。跨執行緒更新ui控制項的常用方法有兩種 1.使用控制項自身的invoke begininvoke方法 2.使用sy...

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

最近發現以前在eclipse中使用的runonuithread在studio中不能使了,所以又找了幾個更新ui的方法 第一種方法 new handler context.getmainlooper post new runnable 第二種方法 如果當前執行緒是ui執行緒,那麼行動是立即執行。如果當...