2011-09-21 35 views
0

我有一個頁面,其中包含一個單獨的列表視圖。點擊列表中的一行後,下一頁被加載。該下一頁包含一組按鈕。點擊列表中的一行後,下一頁的加載可能需要一段時間。所以如果有人不斷地點擊該行然後在某個時間點,第二個頁面出現,點擊裏面的按鈕,這是我不需要的。我怎樣才能防止這種按鈕點擊?有人可以幫我嗎。提前致謝。僅在頁面加載後啓用按鈕點擊

+0

如果您的活動花費的時間超過幾百毫秒,您可能需要考慮將某些邏輯卸載到單獨的線程中,或者簡化佈局。如果你不這樣做,你可能會得到一個ANR。 –

回答

0

使用AsyncTask概念加載數據的下一個活動,做如下:

  1. 集的setEnabled(假)的onPreExecute()方法中的所有按鈕。
  2. 做doInBackground()方法內的所有後臺任務。
  3. 現在再次對所有按鈕啓用setEnabled(true),以使其變爲啓用狀態,用戶可以單擊按鈕。
0

我認爲你需要假click事件和真實的,而要使用

這樣的:

button1.setClickable(false); 

,當你想啓用只寫

button1.setClickable(true); 
0

除了事實上你的活動不應該花費那麼長時間來加載,你可以設置一個布爾值,當調用startActivity()來啓動新的活動時。然後檢查該布爾值,如果用戶在加載下一個活動之前單擊其他任何內容。

0
if(document.readyState==complete) //NB this property is not supported by firefox 
{ 
//Activate buttons 
}