1. 程式人生 > >Android中六種更新UI的方法

Android中六種更新UI的方法

子執行緒與UI執行緒互動,以更新UI的方法,大致有以下六種:
1)、handler和message機制:通過顯示的丟擲、捕獲訊息與ui進行互動。

2)、Handler.post(Runnable):線上程裡面傳送訊息,然後在Handler的dispatchMessage()方法中進行處理。

3)、View.post(Runnable):將操作放入到message佇列中,如果放入成功,該操作將會在ui執行緒中執行,並返回true,否則返回false。其實就是呼叫了Handler.post(Runnable)方法。

4)、View.postDelayed(Runnable, long)跟第三條基本一樣,只不過添加了一個延遲時間。

5)、Activity.runOnUiThread(Runnable):如果當前執行緒為ui執行緒,則立即執行;否則,將引數中的執行緒操作放入到ui執行緒的事件佇列中,等待執行。

6)、使用AsyncTask直接更新UI。

相關推薦

Android更新UI方法

子執行緒與UI執行緒互動,以更新UI的方法,大致有以下六種: 1)、handler和message機制:通過顯示的丟擲、捕獲訊息與ui進行互動。 2)、Handler.post(Runnable):線

Android 更新UI介面的方法

android 更新UI的幾種方法 根據之前的專案經驗,以及在網上看到的一些技術文章,將UI更新的幾種方法在此做個總結:(補充一點,不要混淆了Runnable和Thread,Runnable只是個單純的任務,只是啟動這個任務需要執行緒來驅動,而這個執行緒可以是

Android常用的定時器和延時方法

通過實際專案的練習,掌握了幾種android基本定時器和延時的用法,這裡我想總結一下作為自己的收穫,下面列出的是比較簡潔的模式,方便簡單地在程式中直接呼叫。 一、三種常用的定時器 1.Handler類的postDelayed方法: H

android更新UI程序

子執行緒 裡面 更新報錯的原因: android原始碼裡面有一個函式: checkThread();準們用於檢測; checkThread(){ if(mThread != Thread.curr

Android 使用執行緒的方法

public class Thread There are basically two main ways of having aThreadexecute application code. One is providing a new class that extendsThreadand over

簡單的Android 全域性更換字型的方法

在我們開發Android程式的時候通常會遇到更改全域性字型的需求,我目前能想到的解決方案有三種,下面我們來進行逐一分析: 第一種方式就是自定義控制元件,毫無疑問這個一定能解決我們的問題,只需要把我們之前用的控制元件換成我們自定義的控制元件就好,缺點是如果是多種控制元件我們就

Android關閉Activity或app的方法

1. finish()方法 該方法可以結束當前 Activity,但是如果你的App有很多 Activity 的話,使用該方法顯得有點捉襟見肘了。 另外,還有一個方法finishActivity (int requestCode) ,關於這個方法,先看看sdk的api說明吧! public void

Android延後處理事件的方法

 一、Handler和TimerTask相結合 1、首先定義TimerTask TimerTask task = new TimerTask(){ public void run() { Message message = new Message()

Android常用解析XML的方式(DOM、SAX、PULL)簡介及區別

字符串 lan win name屬性 Coding 空間 toc log fin XML在各種開發中都廣泛應用,Android也不例外。作為承載數據的一個重要角色,如何讀寫XML成為Android開發中一項重要的技能。今天就由我向大家介紹一下在Android平臺下幾種常見的

PHPsign計算方法

get func return fun urn style 輸出 class pos 一言不合上代碼......... 1 <?php 2 function getsign($data,$key){ 3 $key=MD5("KEY_".$key."_K"); 4 $

居中的方法

方案一: div絕對定位水平垂直居中【margin:auto實現絕對定位元素的居中】, 相容性:,IE7及之前版本不支援     div{ width: 200px; height: 200px; backgroun

安卓開發筆記(五)——資料儲存SharedPreference以及Android常見的檔案操作方法

中山大學資料科學與計算機學院本科生實驗報告 (2018年秋季學期) 一、實驗題目 個人專案3 資料儲存(一)應用開發 二、實現內容 第九周任務 實驗目的 學習SharedPreference的基本使用。 學習Android中

Android 使用RxJava呼叫onNext()方法後又呼叫onError()方法

android.content.res.Resources$NotFoundException: String resource ID #0x7d0 問題描述:專案中使用的是Rxjava1.0+和retrofit2.0+搭建的網路請求框架。有一個頁面獲取到網路資料後及Rxj

Android線上程裡更新UI介面

在Android裡,不允許線上程裡更新UI介面,那麼當我們要更新UI介面的時候,我們要用到Handler 例子: 這裡我們在按鈕裡開啟了一個執行緒,用來動態更新文字框裡的值,然後我們執行來看一下 (報錯: Only the original thread that

Android 子執行緒更新UI【通過RunOnUI】

在Fragment中無法直接使用runonuithread   runOnUiThread這個方法只存在於Activity中,想用它必須獲取Activity的例項。   MainActiivty.this.runOnUiThread(),就沒問

Android 子執行緒更新UI 異常

眾所周知,Android是不可以在子執行緒中直接更新UI的,需要藉助Handler或者View.post(Runnable runnable)或者runOnUIThread(Runnable runnable)將更新的程式碼切入到主執行緒中去實現UI更新。 我們來試一下,在Activity的 onCreat

Android 子線程更新UI 異常

handle activit 實現 文本 don 重繪 run 不可 ui更新 眾所周知,Android是不可以在子線程中直接更新UI的,需要借助Handler或者View.post(Runnable runnable)或者runOnUIThread(Runnable ru

Android總結Handler非同步更新UI介面(轉載)

轉載地址:https://blog.csdn.net/qq_21004057/article/details/51582412 本篇文章通過三種方式來實現UI控制元件的更新,Handler非同步更新UI在安卓開發中最常用也非常實在。這篇文章注重實現思路,所以我就不在介面方面進行美化了,都是最原始

AndroidPath類的lineTo方法和quadTo方法畫線的區別

   當我們需要在螢幕上形成畫線時,Path類的應用是必不可少的,而Path類的lineTo和quadTo方法實現的繪製線路形式也是不一樣的,下面就以程式碼的實現來直觀的探究這兩個方法的功能實現區別;    1. Path--->quadTo(float x1, fl

JAVA陣列常見排序方法

前言: 幾種常用的JAVA陣列排序方法的整合。 法一:Arrays.sort() Arrays.sort()排序方法在java中是最簡單且最常用的排序方法 int []arr1= {45,34,59,55}; Arrays.sort(arr1);//呼叫方法排序即可