现在有个toast提示问题If(i<5){toast显示}而这个情况会有个问题出现,当i为0 1 2 3 4 的时候会持续出现toast
我想实现的是当现在toast显示在屏幕上的时候,屏蔽掉下面出现的toast
也就是让它不要一直显示~~~
怎么做呢

解决方案 »

  1.   

    你把你的toast显示代码贴出来看下
      

  2.   

    if(i<5)
           {
           Toast toast=Toast.makeText(getContext(), getContext().getString(R.string.Toast), Toast.LENGTH_SHORT);
           toast.show();
           }
      

  3.   

    toast中似乎并没有方法判断该toast是否消失?
      

  4.   

    可以尝试这样
      Toast toast=Toast.makeText(getContext(), getContext().getString(R.string.Toast), Toast.LENGTH_SHORT);
    if(i<5)
      {
    toast.cancel();
      toast.show();
      }
      

  5.   

    这样写应该可以的:
    boolean Toast_show=false;
    ...............................
    if(i<5){
    if(!Toast_show){
    Toast toast=Toast.makeText(getContext(), getContext().getString(R.string.Toast), Toast.LENGTH_SHORT);
    }
    Toast_show=!Toast_show;
    }
      

  6.   


    这个是试过了 似乎不行~~~
    其实我想实现的是在该Activity返回的时候toast也停止~~~
      

  7.   

    定义全局变量mShowFlag = 0 ;设置一个定时线程,时间间隔为 Toast.LENGTH_SHORT, 每次点击后启动这个线程,然后设置一个标志为mShowFlag = 1,时间到了再设置为mShowFlag = 0;每次需要显示时,先判断这个mShowFlag == 1,如果为0则再show()。if (i < 5 && mShowFlag == 0)
    {
    Toast toast=Toast.makeText(getContext(), getContext().getString(R.string.Toast), Toast.LENGTH_SHORT);
      toast.show();
    }
      

  8.   


        public void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
            setContentView(R.layout.main);  
        
        }  
        class  ClickListener implements OnClickListener  
        {  
            public void onClick(View v)  
            {  
                if(v==btnShow)  
                {  
                   Timer timer = new Timer();  
                   timer.scheduleAtFixedRate(new MyTask(), 1, Toast.LENGTH_SHORT);   
                   if(i < 5 &amp;&amp; mShowFlag == 0)
                   {
                        mShowFlag = 1;
                        Toast toast=Toast.makeText(getContext(), getContext().getString(R.string.Toast), Toast.LENGTH_SHORT);
      toast.show();
                   }
                }   
            }
        }     
        private class MyTask extends TimerTask{  
            @Override  
            public void run() {  
                mShowFlag = 0;
            }     
        }  
      

  9.   

    activity退出的时候要退出toast的话,可以用system.exit(0)在最后一个Activity退出时退出进程,这样toast立马就消失了。