解决Toast重复显示的有关问题

解决Toast重复显示的问题

前述: 在很早以前接触Android的时候吧! 就遇到过此类Toast消息重复显示的问题,自定义Toast,显示的位置等等,由于事后没有记录下来,导致今日忘记了,于是百度了下,看了下 知道怎么写了,但是感觉不是很好,于是乎鼠标不知道点哪里去了,竟然找到以前程序的代码,接下来的工作 当然是copy了!

      在此记录在这里,以便日后忘记,直接写在这里!也希望能帮助到大家,直接copy

    

      第一步:

                自定义Toast类:

        

public class MyToast
{
 private static Context context = null;
 private static Toast toast = null;

 public static Toast getToast(Context context, String hint)
 {

  if (MyToast.context == context)
  {
   toast.cancel();
   toast.setText(hint);
  } else
  {
   MyToast.context = context;
   toast = Toast.makeText(context, hint, Toast.LENGTH_SHORT);
  }
  return toast;
 }
}

 第二步 : 调用传值

        

public class ToastTestActivity extends Activity
{
 private Button button;
 private Context context = this;
 private int i;

 @Override
 public void onCreate(Bundle savedInstanceState)
 {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  button = (Button) findViewById(R.id.bt);
  button.setOnClickListener(new OnClickListener()
  {

   @Override
   public void onClick(View v)
   {
    MyToast.getToast(context, "哈哈" + i++).show();
   }
  });
 }
}

 

搞定!

      有关Toast 自定义,显示的位置等等,懒得在找以前的代码了,什么时候用到了这些小知识点在写吧!

 

   

1楼xxm282828前天 08:48
其实重点就这么一句话: if (MyToast.context == context)