Lal*_*ani 45
你只需创建一个Thread持续时间,只要Toast显示,然后你就可以完成你的操作Activity.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// your other stuff
Toast.makeText(this,"This is a Toast", Toast.LENGTH_LONG).show();
thread.start();
}
Run Code Online (Sandbox Code Playgroud)
现在创建一个等待(LENGTH_LONG = 3.5)或(LENGTH_SHORT = 2)秒的线程
Thread thread = new Thread(){
@Override
public void run() {
try {
Thread.sleep(Toast.LENGTH_LONG); // As I am using LENGTH_LONG in Toast
Your_Activity.this.finish();
} catch (Exception e) {
e.printStackTrace();
}
}
};
Run Code Online (Sandbox Code Playgroud)
Jul*_*tta 16
它应该首先显示,Toast然后在2秒后,它将完成你的activity.
Toast.makeText(YourActivity.this, "MESSAGE", Toast.LENGTH_SHORT).show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
YourActivity.this.finish();
}
}, 2000);
Run Code Online (Sandbox Code Playgroud)
android.widget.Toast不提供任何监听器来通知它何时完成.
您可以调用Toast.getDuration()来了解它将持续多长时间,并让自己的TimerTask在Toast消失时运行,并在那里完成您的任务.
小智 8
是的,但这是一种诡计
Android Toast在完成后无法设置回调.
所以你能做的就是基于这个事实
private static final int LONG_DELAY = 3500; // 3.5 seconds
private static final int SHORT_DELAY = 2000; // 2 seconds
Run Code Online (Sandbox Code Playgroud)
现在你可以这样做:
| 归档时间: |
|
| 查看次数: |
28105 次 |
| 最近记录: |