2012-12-13 41 views
-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應用緊密?

謝謝。當你從服務中獲取數據

+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; 
} 
0

使用異步類。 或使用處理程序來處理這種崩潰。 否則禁用按鈕,直到你從服務中獲得的數據...

0

使用ASYN類從服務中獲取數據的獲取數據的方法,包圍了按鈕,try/catch語句來處理異常。而獲取數據