我已经成功完成了一个项目,问题是当用户同时点击2个或更多按钮时应用程序崩溃,当应用程序从服务中获取数据时,当用户点击其他小部件时它会强行关闭。
错误日志,例如..
12-13 12:42:03.763: W/webcore(576): java.lang.Throwable: EventHub.removeMessages(int what = 107) is not supported before the WebViewCore is set up.
12-13 12:44:52.284: E/AndroidRuntime(665): at android.os.Looper.loop(Looper.java:137)
12-13 12:44:52.284: E/AndroidRuntime(665): at android.app.ActivityThread.main(ActivityThread.java:4340)
12-13 12:44:52.284: E/AndroidRuntime(665): at java.lang.reflect.Method.invokeNative(Native Method)
12-13 12:44:52.284: E/AndroidRuntime(665): at java.lang.reflect.Method.invoke(Method.java:511)
12-13 12:44:52.284: E/AndroidRuntime(665): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
12-13 12:44:52.284: E/AndroidRuntime(665): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
有没有办法把请求队列放在android代码中?
我如何在Android应用程序中处理强制关闭?
谢谢。答案 0 :(得分:1)
如果您不想在代码中进行更多更改,那么只需使用标志来检查服务器请求当前是在执行还是已完成:
public static boolean status=true;
getdatabuttn.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
// check flag here before makeing
//new request to server
if(status==true){
status=false;
// get data here
getDatafromServer();
}
else{
// show message already downloading data from server
}
}
});
用于向服务器发送数据请求的获取数据方法
public void getDatafromServer(){
//your code here for getting data
//....
// after getting data change flag
status=true;
}
答案 1 :(得分:0)
从服务获取数据时使用异步类。 或使用处理程序来处理这种崩溃。 否则禁用按钮,直到从服务中获取数据...
答案 2 :(得分:0)
使用异步类从服务获取数据,使用try / catch包围按钮来处理异常。