public class Home extends ActionBarActivity {
public static final String PREFS_NAME="LoginPrefs";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home);
ScheduledExecutorService scheduler =
Executors.newSingleThreadScheduledExecutor();
scheduler.scheduleAtFixedRate(new Runnable() {
public void run() {
Log.i("hello", "world");
runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(getApplicationContext(), "Please Enter the Details", Toast.LENGTH_SHORT).show();
}
});
}
}, 10, 10, TimeUnit.SECONDS);
}
答案 0 :(得分:2)
创建自定义全局对象
private Toast toast;
在onCreate中初始化
toast = Toast.makeText(YOUR_CLASS_NAME.this, "", Toast.LENGTH_SHORT);
每当你需要展示Toast
时 toast.setText("Text...");
toast.show();
根据onPause或onDestroy
的要求杀死所有消息 toast.cancel();
答案 1 :(得分:0)
您的代码存在的问题是您没有停止调度程序。
当您关闭活动时,应用程序不会停止,以便调度程序继续运行。
您可以重写代码以在活动停止时停止调度程序,并在活动开始时启动调度程序(而不是创建)。
public class MainActivity extends ActionBarActivity {
private ScheduledExecutorService mScheduler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onStart() {
super.onStart();
mScheduler = Executors.newSingleThreadScheduledExecutor();
mScheduler.scheduleAtFixedRate(new Runnable() {
public void run() {
Log.i("hello", "world");
runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(getApplicationContext(), "Please Enter the Details", Toast.LENGTH_SHORT).show();
}
});
}
}, 5, 5, TimeUnit.SECONDS);
}
@Override
protected void onStop() {
mScheduler.shutdown();
super.onStop();
}
}
答案 2 :(得分:-1)
在您的活动中覆盖onBackPressed()方法,将其放置:
System.exit(0);
这基本上用于退出,但这也会停止祝酒。试试这个。