本文主要是介绍在Android如何进行异步Toast提示方法的封装和调用,由于日常开发中采用直接调用Toast.makeText()的方法进行直接信息的提示,且当前方法只能在UI经程中进行应用,这导致我们在一些回调方法和线程中直接调用提示信息时程序直接死掉或异常。所以我们需要进行异步方法的封装,以便在回调和线程中方便调用,下面进行方法的实现和分析:1、主要方法
Handler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
}
});
解释:通过 Handler 的 post 方法进行开启动线程Runnable的方法进行开启异步线程进行更新UI组件信息。
2、应用代码如下
package com.test;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.widget.TextView;
import android.widget.Toast;
/**
* 测试Activity
*
* @author yun
* @version V1.0
*/
public class Test extends Activity {
privateHandler mHandlerT = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
TextView layout = new TextView(this);
layout.setText("测试");
setContentView(layout);
}
/**
* 异步Toast提示
*
* @param msg
*/
public void toast(final String msg) {
if (mHandlerT != null) {
mHandlerT.post(new Runnable() {
@Override
public void run() {
Toast.makeText(getBaseContext(), msg, Toast.LENGTH_LONG).show();
}
});
}
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
}
}