强制关闭多次点击

时间:2012-12-13 07:19:32

标签: android android-widget

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

谢谢。

3 个答案:

答案 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包围按钮来处理异常。