日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Only the original thread that created a view hierarchy can touch its views——Handler的使用

發布時間:2024/4/15 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Only the original thread that created a view hierarchy can touch its views——Handler的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天寫了一個更新UI的小例子,沒想到出了log打印了這樣一個錯誤:Only the original thread that created a view hierarchy can touch its views。goolgle了一下找到了原因。

原來android中相關的view和控件不是線程安全的,我們必須單獨做處理。這里借此引出Handler的使用。

?

Handler的官方描述:

A Handler allows you to send and process?Message?and Runnable objects associated with a thread's?MessageQueue. Each Handler instance is associated with a single thread and that thread's message queue. When you create a new Handler, it is bound to the thread / message queue of the thread that is creating it -- from that point on, it will deliver messages and runnables to that message queue and execute them as they come out of the message queue


.Handler的使用場合:

?

1、?to schedule messages and runnables to be executed as some point in the future;

????? 安排messages和runnables在將來的某個時間點執行。

2、 to enqueue an action to be performed on a different thread than your own.

????? 將action入隊以備在一個不同的線程中執行。即可以實現線程間通信。比如當你創建子線程時,你可以再你的子線程中拿到父線程中創建的Handler對象,就可以通過該對象向父線程的消息隊列發送消息了。由于Android要求在UI線程中更新界面,因此,可以通過該方法在其它線程中更新界面。


通過Handler更新UI實例:

步驟:

1、創建Handler對象(此處創建于主線程中便于更新UI)。

2、構建Runnable對象,在Runnable中更新界面。

3、在子線程的run方法中向UI線程post,runnable對象來更新UI。

?

詳細代碼如下:

[java] view plaincopy

package djx.android;

import djx.downLoad.DownFiles;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class downLoadPractice extends Activity {
?private Button button_submit=null;
?private TextView textView=null;
?private String content=null;
?private Handler handler=null;
??? /** Called when the activity is first created. */
??? @Override
??? public void onCreate(Bundle savedInstanceState) {
??????? super.onCreate(savedInstanceState);
??????? setContentView(R.layout.main);
??????? //創建屬于主線程的handler
??????? handler=new Handler();
???????
??????? button_submit=(Button)findViewById(R.id.button_submit);
??????? textView=(TextView)findViewById(R.id.textView);
??????? button_submit.setOnClickListener(new submitOnClieckListener());
??? }
??? //為按鈕添加監聽器
??? class submitOnClieckListener implements OnClickListener{
??@Override
??public void onClick(View v) {
//本地機器部署為服務器,從本地下載a.txt文件內容在textView上顯示???
???final DownFiles df=new DownFiles("
http://192.168.75.1:8080/downLoadServer/a.txt");
???textView.setText("正在加載......");
???new Thread(){
????public void run(){?
?????content=df.downLoadFiles();??
?????handler.post(runnableUi);
?????}?????
???}.start();??????
??}
??? ?
??? }

?? // 構建Runnable對象,在runnable中更新界面
??? Runnable?? runnableUi=new? Runnable(){
??@Override
??public void run() {
???//更新界面
???textView.setText("the Content is:"+content);
??}
??? ?
??? };
??? ?
???
}

*java線程的詳細講解鏈接?

總結

以上是生活随笔為你收集整理的Only the original thread that created a view hierarchy can touch its views——Handler的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: a视频免费 | 伊人99热| 97公开视频 | 欧美三级在线看 | 久久人人草| 色图一区 | 亚洲免费二区 | 黄色三级在线视频 | 精品毛片 | 男人天堂2014 | 四虎8848| 精品午夜福利视频 | 国产裸体视频网站 | 999伊人 | 亚洲欧洲日韩综合 | 久久精品2019中文字幕 | 高潮网| 奇米亚洲| 成人久色| 久久蜜桃av | mm视频在线观看 | 又爽又黄视频 | 哺乳援交吃奶在线播放 | 91国模少妇一区二区三区 | aa视频在线 | 啪啪福利社| 久久久久亚洲色欲AV无码网站 | 四虎精品视频 | 草草影院在线观看 | 青娱乐国产在线视频 | 国产精品一区二区毛片 | 亚洲香蕉在线观看 | 日本视频二区 | 强伦人妻一区二区三区视频18 | 国产精品三级视频 | 91蝌蚪91密月 | 爱爱高潮视频 | 国产精品-区区久久久狼 | 五月天综合社区 | 欧美日韩久久久久久 | 欧美三级在线播放 | 欧美精品一区三区 | 色哟哟在线 | 肉嫁高柳家 高清 | 黄色av国产 | 小草av在线| 亚洲性网 | 日本黄色精品 | 欧美在线视频网站 | 少妇淫片 | 少妇高潮久久久 | 国产口爆吞精一区二区 | 久久接色 | 91免费国产 | 久久xx | 无套白嫩进入乌克兰美女 | 黄色小说视频网站 | 手机成人免费视频 | 久久福利电影 | 动漫精品一区二区三区 | 美女久久久 | 国产精品久久中文字幕 | 91人妻一区二区三区蜜臀 | 男人天堂avav | av网站在线免费看 | 在线观看免费 | 欧美在线播放视频 | 国产精品一区二区三区免费看 | 久久夜视频 | 色秀视频在线观看 | 另类小说欧美 | 欧美精品一二三四区 | 天堂二区 | 一级黄色免费网站 | 欧美亚洲在线观看 | 国产成人在线观看网站 | 激情久久av一区av二区av三区 | 日本成人在线免费视频 | 精品国产欧美 | 国产不卡毛片 | 国产99久久久 | 国产精品黄色 | aa一级黄色片| 男女做事网站 | 欧美综合自拍亚洲综合图片区 | 黄色av网址在线观看 | 潘金莲一级淫片aaaaaaa | 亚洲系列| 特黄色大片 | 欧美日韩视频在线观看一区 | 肥熟女一区二区三肥熟女 | 日批视屏 | 毛片基地在线播放 | 欧美黑人一区二区 | 成人mv | 99热这里只有精品99 | 亚洲欧美一区二区三区四区 | 特黄在线 | 国产精品自拍视频一区 |