2015-04-04 115 views
0

我有兩個類A和B.我在類A中,我在類B中調用了一個函數,其中一個按鈕被初始化。點擊按鈕時,x的值變爲true(最初爲false)。在執行A類中的下一個語句之前,B類中的x值應爲true。 我試過B.wait(),但它返回異常。 無論如何做到這一點?android等待函數

+0

考慮發佈實際代碼,以便我們可以更好地瞭解問題。 A類是活動,B類是片段? – ekchang 2015-04-04 07:19:05

+0

A類是Activity,B類是CustomGridView ..我在gridview中使用gridAdapter在B類中創建按鈕。 – DanielJames 2015-04-04 07:24:10

+0

在類A中創建方法,該方法在按鈕onClick方法中調用。請注意在UI線程上使用'wait',因爲這看起來像應用掛在用戶上(並且android會提示用戶終止任何掛起5秒的應用),我仍然建議用實際的代碼編輯你的文章。 – ekchang 2015-04-04 07:29:01

回答

0

您可以使用AsyncTask類。 在預執行函數,初始化x和按鈕或任何和後執行,並做任何你想做的事情。

0

你可以嘗試添加這樣的事情:

while (B.x == false) { 
    try { Thread.sleep(50); } catch (Exception e) {} 
    // Sleeping is necessary to prevent high CPU usage 
} 

不管怎樣,你永遠不應該使用這個在UI Thread,因爲它可能導致ANR一個 pplication ň OT [R esponding )