編輯:關於Android編程
本文實例講述了Android線程中設置控件的值提示報錯的解決方法。分享給大家供大家參考,具體如下:
在Android線程中設置控件的值一般會與Handler聯合使用,如下:
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對象
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的對象
imageview = (ImageView) this.findViewById(R.id.ImageView01);
textview = (TextView) this.findViewById(R.id.TextView01);
//設置imageview的圖片資源。同樣可以再xml布局中像下面這樣寫
//android:src="@drawable/logo"
imageview.setImageResource(R.drawable.logo);
//設置imageview的Alpha值
imageview.setAlpha(image_alpha);
//開啟一個線程來讓Alpha值遞減
new Thread(new Runnable() {
public void run()
{
while (isrung)
{
try
{
Thread.sleep(200);
//更新Alpha值
updateAlpha();
//如果使用下面注釋的代碼來直接設置imageview的透明度、textview的值會報錯,因為線程中不能對控件進行設置操作,需要使用一個Handler來進行對相關值的設置
// if (image_alpha - 7 >= 0)
// {
// image_alpha -= 7;
// }
// else
// {
// image_alpha = 0;
// isrung = false;
// }
// imageview.setAlpha(image_alpha);
// textview.setText("現在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("現在alpha值是:"+Integer.toString(image_alpha));
//更新
imageview.invalidate();
}
};
}
public void updateAlpha()
{
if (image_alpha - 7 >= 0)
{
image_alpha -= 7;
}
else
{
image_alpha = 0;
isrung = false;
}
//發送需要更新imageview視圖的消息
mHandler.sendMessage(mHandler.obtainMessage());
}
}
更多關於Android相關內容感興趣的讀者可查看本站專題:《Android線程與消息機制用法總結》、《Android編程之activity操作技巧總結》、《Android調試技巧與常見問題解決方法匯總》、《Android開發入門與進階教程》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結》、《Android視圖View技巧總結》、《Android布局layout技巧總結》及《Android控件用法總結》
希望本文所述對大家Android程序設計有所幫助。
Android實現捕獲TextView超鏈接的方法
本文實例講述了Android實現捕獲TextView超鏈接的方法。分享給大家供大家參考,具體如下:這裡分享一篇捕獲TextView超鏈接的文章,希望對大家有所幫助,我終於
Netty in Action (二十三) 第十二章節 WebSocket
第三部分:網絡協議 WebSocket是一個先進的網絡協議,被開發用來用來提高網絡的性能和web應用的響應率,我們將介紹Netty對WebSocket這兩個特性
Android編程開發之TextView單擊鏈接彈出Activity的方法
本文實例講述了Android編程開發之TextView單擊鏈接彈出Activity的方法。分享給大家供大家參考,具體如下:話不多說直接上碼:核心源碼:package co
Android圖表庫MPAndroidChart(十二)——正負堆疊條形圖
Android圖表庫MPAndroidChart(十二)——正負堆疊條形圖。接上篇,今天要說的,和上篇的類似,只是方向是有相反的兩面,我們先看下效