Handler 中使用 Toast

public class MainActivity extends Activity{
	private MyToast myToast; 
	 public void onCreate(Bundle savedInstanceState) {
		 super.onCreate(savedInstanceState); 
		 toastHandler();
		  threadHandler();
	 }
	 public void toastHandler(){
		 myToast = new MyToast(this); 
		  myToast.show(); 
		  myToast.cancel(); 
	 }
	 public void threadHandler(){
		 myToast = new MyToast(this,1); 
		 myToast.start();
	 }
	 public Handler slb3Handler = new Handler(){
			@Override
			public void handleMessage(Message msg) {
				Context objStr = (Context)msg.obj;
				 System.out.println("Handler return---->" + objStr);
				 Toast.makeText(objStr, "ssss", Toast.LENGTH_LONG).show();		
			}
	 };
}
public class MyToast extends Thread {
	private Context mContext;
	private Toast mToast = null;
	private Handler mHandler = null; 

    private Runnable mToastThread  = new Runnable() {

		public void run() {
			// TODO Auto-generated method stub
			mToast.show();
			mHandler.postDelayed(mToastThread, 3000);
		} 
    };
    
    public MyToast(Context context){ 
        mContext = context; 
        mHandler = new Handler(mContext.getMainLooper()); 
        mToast = Toast.makeText(mContext, "自由@飞翔", Toast.LENGTH_LONG); 

      } 
    public void setText(String text){ 
        mToast.setText(text); 
      } 

     public void show(){ 
       mHandler.post(mToastThread); 
     } 
     public void cancel() { 

         mHandler.removeCallbacks(mToastThread);//先把显示线程删除 

         mToast.cancel();// 把最后一个线程的显示效果cancel掉,就一了百了了 
     } 
     //---------------------Thread---------------------
     
     public MyToast(Context context,int p){ 
         mContext = context; 
//       mHandler = new Handler(mContext.getMainLooper()); 
         mHandler = new MainActivity().slb3Handler;

       } 
     @Override
     public void run() {
    	 sendToastInfo("Toast Info...");
	 }
     public void sendToastInfo(String str){
    	Message msg = mHandler.obtainMessage();
 		msg.obj = mContext;
 		mHandler.sendMessage(msg);
 		 System.out.println("str" +str);
     }
}



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值