Android線程中設(shè)置控件的值提示報(bào)錯(cuò)的解決方法
本文實(shí)例講述了Android線程中設(shè)置控件的值提示報(bào)錯(cuò)的解決方法。分享給大家供大家參考,具體如下:
在Android線程中設(shè)置控件的值一般會(huì)與Handler聯(lián)合使用,如下:
package com.yarin.android.Examples_04_15;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.ImageView;
import android.widget.TextView;
public class Activity01 extends Activity
{
//聲明ImageView對(duì)象
ImageView imageview;
TextView textview;
//ImageView的alpha值,
int image_alpha = 255;
Handler mHandler = new Handler();
//控件線程
boolean isrung = false;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
isrung = true;
//獲得ImageView的對(duì)象
imageview = (ImageView) this.findViewById(R.id.ImageView01);
textview = (TextView) this.findViewById(R.id.TextView01);
//設(shè)置imageview的圖片資源。同樣可以再xml布局中像下面這樣寫(xiě)
//android:src="@drawable/logo"
imageview.setImageResource(R.drawable.logo);
//設(shè)置imageview的Alpha值
imageview.setAlpha(image_alpha);
//開(kāi)啟一個(gè)線程來(lái)讓Alpha值遞減
new Thread(new Runnable() {
public void run()
{
while (isrung)
{
try
{
Thread.sleep(200);
//更新Alpha值
updateAlpha();
//如果使用下面注釋的代碼來(lái)直接設(shè)置imageview的透明度、textview的值會(huì)報(bào)錯(cuò),因?yàn)榫€程中不能對(duì)控件進(jìn)行設(shè)置操作,需要使用一個(gè)Handler來(lái)進(jìn)行對(duì)相關(guān)值的設(shè)置
// if (image_alpha - 7 >= 0)
// {
// image_alpha -= 7;
// }
// else
// {
// image_alpha = 0;
// isrung = false;
// }
// imageview.setAlpha(image_alpha);
// textview.setText("現(xiàn)在alpha值是:"+Integer.toString(image_alpha));
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
}).start();
//接受消息之后更新imageview視圖
mHandler = new Handler() {
@Override
public void handleMessage(Message msg)
{
super.handleMessage(msg);
imageview.setAlpha(image_alpha);
textview.setText("現(xiàn)在alpha值是:"+Integer.toString(image_alpha));
//更新
imageview.invalidate();
}
};
}
public void updateAlpha()
{
if (image_alpha - 7 >= 0)
{
image_alpha -= 7;
}
else
{
image_alpha = 0;
isrung = false;
}
//發(fā)送需要更新imageview視圖的消息
mHandler.sendMessage(mHandler.obtainMessage());
}
}
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Android線程與消息機(jī)制用法總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android調(diào)試技巧與常見(jiàn)問(wèn)題解決方法匯總》、《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- Android啟動(dòng)模擬器報(bào)錯(cuò)解決方法
- android導(dǎo)入第三方j(luò)ar包報(bào)錯(cuò) 如何正確導(dǎo)入jar包
- android @override 報(bào)錯(cuò)解決方案
- android 下載時(shí)文件名是中文和空格會(huì)報(bào)錯(cuò)解決方案
- cocos2d-2.0-x-2.0.3 交叉編譯到android報(bào)錯(cuò)解決
- android4.0混淆XmlPullParser報(bào)錯(cuò)原因分析解決
- Android Studio 報(bào)錯(cuò)failed to create jvm error code -4的解決方法
- android照相、相冊(cè)獲取圖片剪裁報(bào)錯(cuò)的解決方法
- Android開(kāi)發(fā)中Eclipse報(bào)錯(cuò)及對(duì)應(yīng)處理方法總結(jié)
- Android程序報(bào)錯(cuò)程序包org.apache.http不存在問(wèn)題的解決方法
相關(guān)文章
Android ScrollView實(shí)現(xiàn)向上滑動(dòng)控件頂部懸浮效果
這篇文章主要為大家詳細(xì)介紹了Android ScrollView實(shí)現(xiàn)向上滑動(dòng)控件頂部懸浮效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
Android實(shí)現(xiàn)歡迎滑動(dòng)頁(yè)面
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)歡迎滑動(dòng)頁(yè)面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
Android 實(shí)現(xiàn)自定義圓形listview功能的實(shí)例代碼
這篇文章主要介紹了Android 實(shí)現(xiàn)自定義圓形listview功能的實(shí)例代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
Kotlin中的Checked Exception機(jī)制淺析
這篇文章主要給大家介紹了關(guān)于Kotlin中Checked Exception機(jī)制的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
Android拖拽助手ViewDragHelper的創(chuàng)建與使用實(shí)例
ViewDragHelper是針對(duì) ViewGroup 中的拖拽和重新定位 views 操作時(shí)提供了一系列非常有用的方法和狀態(tài)追蹤,下面這篇文章主要給大家介紹了關(guān)于Android拖拽助手ViewDragHelper的創(chuàng)建與使用的相關(guān)資料,需要的朋友可以參考下2022-05-05
詳解如何在Flutter中用小部件創(chuàng)建響應(yīng)式布局
由于Flutter的跨平臺(tái)、單一代碼庫(kù)的能力,了解屏幕管理以防止像柔性溢出錯(cuò)誤或糟糕的用戶(hù)界面設(shè)計(jì)這樣的問(wèn)題是至關(guān)重要的。本文將探討如何用靈活和擴(kuò)展的小部件創(chuàng)建響應(yīng)式布局,需要的可以參考一下2022-02-02

