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);
}
}