店铺 Android 工作室
Handler Android Studio
我在 android 应用程序中有一个处理程序,这非常好用
下面是我的处理程序的代码
Runnable mStatusChecker = new Runnable() {
@Override
public void run() {
try{
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
downloadusernamelist();
isInternetWorking();
syncDataSftp();
}finally {
mHandler.postDelayed(mStatusChecker, mInterval);
}}};
现在这个处理程序在启动器 activity 上,当我转到下一个 activity 并返回到第一个启动器 activity 时,处理程序再次启动...
我怎样才能让处理程序在我每次回到第一个 activity 时都不会重新启动?
您可以定义一个布尔值,例如;
private boolean firstTime = true;
然后你可以根据firstTime布尔值来决定启动handler
if(firstTime){
runHandler();
firstTime = false;
}
您还应该保存 firstTime 值 onSaveInstance 并在 onCreate 上恢复该值;
我在 android 应用程序中有一个处理程序,这非常好用
下面是我的处理程序的代码
Runnable mStatusChecker = new Runnable() {
@Override
public void run() {
try{
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
downloadusernamelist();
isInternetWorking();
syncDataSftp();
}finally {
mHandler.postDelayed(mStatusChecker, mInterval);
}}};
现在这个处理程序在启动器 activity 上,当我转到下一个 activity 并返回到第一个启动器 activity 时,处理程序再次启动...
我怎样才能让处理程序在我每次回到第一个 activity 时都不会重新启动?
您可以定义一个布尔值,例如;
private boolean firstTime = true;
然后你可以根据firstTime布尔值来决定启动handler
if(firstTime){
runHandler();
firstTime = false;
}
您还应该保存 firstTime 值 onSaveInstance 并在 onCreate 上恢复该值;