当我点击按钮时,我正在显示一个简单的Toast.我的问题是,当我多次点击一个按钮时,Toast消息会一直显示,直到我进入主屏幕.当我到达主屏幕并在相应的活动中杀死Toast消息时,我想停止Toast.我附上了截图.
我编写的代码如下:
public class Main extends Activity {
Dialog d;
Toast t;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
((Button)findViewById(R.id.button1)).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
t = Toast.makeText(Main.this, "you clicked on button!", Toast.LENGTH_LONG);
t.show();
}
});
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
t.cancel();
}
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
嗨,我有同样的问题.问题是Toast重叠,例如如果按10次Toast将保持10 x LENGTH_SHORT.我带来的唯一解决方案是控制Toast由我自己显示的时间.当您显示Toast时,只需跟踪上次显示它,它仍然在屏幕上不再显示它.在最糟糕的情况下,Toast仅在LENGTH_SHORT时间可见.