-2

我已经成功完成了一个项目,问题是当用户同时点击 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 应用程序中处理强制关闭?

谢谢你。

4

3 回答 3

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;
}
于 2012-12-13T07:29:04.353 回答
0

从服务获取数据时使用异步类。或使用处理程序来处理这种崩溃。否则禁用按钮,直到您从服务中获取数据...

于 2012-12-13T07:24:21.760 回答
0

使用 asyn 类从服务中获取数据,用 try/catch 包围按钮来处理异常。

于 2012-12-13T07:33:46.463 回答