本文实例讲述了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线程中设置控件的值提示报错的解决方法相关推荐

  1. java程序单引号报错_JavaScript中的单引号和双引号报错的解决方法

    在使用JavaScript显示消息或者传递字符数据的时候,经常会碰到数据中夹杂单引号(')或者双引号("),这种语句往往会造成JavaScript报错.对此一般采用/'或者/"的解 ...

  2. vc20++中使用scanf等函数8出现报错时解决方法

    在使用vc++2010编写C语言代码的过程中,scanf.strcpy.strlen.strcat等C语言提供的被认定为不安全的函数在代码运行的过程中会出现报错,为了保有代码的跨平台性和可移植性,不支 ...

  3. 怎么在ASP.NET中写HTML,如何:在 ASP.NET 网页中设置控件的 HTML 属性

    如何:在 ASP.NET 网页中设置控件的 HTML 属性 10/22/2014 本文内容 更新:2007 年 11 月 这些示例显示如何向页面中的元素添加 HTML 属性.第一个示例演示如何以声明方 ...

  4. springboot项目中pom文件parent报错的解决方法

    springboot项目中pom文件parent报错的解决方法 1:首先配置maven环境 2:修改maven的settings.xml文件 3:用编辑器修改settings文件 4:设置Eclips ...

  5. js设置控件的隐藏与显示的两种方法

    js设置控件的隐藏与显示的两种方法: js设置控件的隐藏与显示,设置控件style的display和visibility属性就可以了. 用JavaScript隐藏控件的方法有两种,分别是通过设置控件的 ...

  6. vue-cli3 中 sockjs-node/info?t=报错 的解决方法

    vue-cli3 中 sockjs-node/info?t=报错 的解决方法 参考文章: (1)vue-cli3 中 sockjs-node/info?t=报错 的解决方法 (2)https://ww ...

  7. IDEA中实现接口时注解@Override报错的解决方法

    IDEA中实现接口时注解@Override报错的解决方法 参考文章: (1)IDEA中实现接口时注解@Override报错的解决方法 (2)https://www.cnblogs.com/liulao ...

  8. 关于Visual Studio 中“scanf”输入报错的解决方法

    有很多初次接触VS的同学会发现,当我们在写完一段代码,代码中用到scanf输入变量时,在调试编译的过程中就会出现错误: warning C4996: 'scanf': "This funct ...

  9. android动态改变布局,Android 动态添加布局的两种方式

    前言 大多数时候我们布局都是用xml来布局的,但有些时候也是会用到动态布局的,尤其是在一些大项目中,动态布局更是体现的淋漓尽致. 所以今天我们就来学习一些动态加添布局的两种方式,分别是 动态添加xml ...

最新文章

  1. Apache Dubbo 高危漏洞通告
  2. 03-老马jQuery教程-DOM操作(上)
  3. Photoshop的基本操作
  4. vue 组件属性监听_详解vuex 中的 state 在组件中如何监听
  5. android image 转yuv_Android将camera获取到的YuvData在jni中转化为Mat方法
  6. linux 超大文件编辑,Linux 修改打开最大文件数
  7. linux中定义用户账户的文件为,Linux中用户和组中认证库和解析库的文件格式以及默认参数定义文件...
  8. MATLAB自带机器学习算法汇总
  9. PPT画图保存时自动压缩图片问题
  10. 移动直播技术秒开优化经验(含PPT)
  11. 订阅新闻联播文字标题到邮箱
  12. C# LINQ TO SQL
  13. L1-040. 最佳情侣身高差 java
  14. sql追加列mysql_mysql如何给表中添加列(字段)?
  15. 面渣逆袭:Redis连环五十二问,图文详解,这下面试稳了
  16. html 最小长度单位,最小的长度单位是多长?
  17. 用selenium模拟浏览器登录淘宝识别滑动验证码
  18. 前端读取时间传入后端时间减少八小时解决方案
  19. 【产品经理】工作交接
  20. python在屏幕上输出文字_对python的输出和输出格式详解

热门文章

  1. Java面试高频题:Spring Boot+Sentinel+Nacos高并发已撸完
  2. HarmonyOS 正式登陆华为手机,4月陆续升级!
  3. 游戏界的扛把子、3D 游戏之父约翰•卡马克的传奇人生
  4. Git 看这一篇就够了!
  5. 在 Rust 代码中编写 Python 是种怎样的体验?
  6. 让 AI 训练 AI:揭秘阿里、浙大的 AI 训练师助手
  7. 金山云肖江:5G 驱动智慧人居新发展
  8. 加密货币的天堂何在?
  9. 小米要用 AI + IoT 做年轻人的第一套智能家居
  10. 微软:程序员们,是时候丢掉 Win 7 了!