我在Android java項目中有一個主類,其中定義了所有函數。然後我有兩個其他類擴展主類並實現Runnable
。Windows已經聚焦 - 忽略多線程後的焦點增益
- 主類:所有主要功能
- 類2:我使用所有主要功能和具有靜態變量
X
我在文件修改2. - 類3:我使用所有主要功能,並且具有靜態變量
Y
我在文件3中修改。
在主類中,我啓動2個線程:一個用於Class2,一個用於Class3。
當我嘗試從主類調用Class2.X
時,無論如何總是null
。我試過volatile
,synchronized(thread)
,getvalue()
等,但它不起作用。
我應該怎樣做才能讀取Class2.X
的值,使其不在主類中爲空?
下面是代碼:
Thread t = new Thread(new Functionss(mRgbImage));
t.start();
Thread t2 = new Thread(new Functionss_2(mRgbImage));
t2.start();
if(boolean_variable)
{
try {
Thread.sleep(30000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Bitmap final_added =addition(mRgbImage2, mRgbImage3);
mImageView.setImageBitmap(final_added);
mRgbImage2
和mRgbImage3
是static volatile
變量。
事實上,我認爲這不是一個變量的問題,因爲當我在主類中使用圖像並修改它,然後執行mImageView.setImageBitmap(initial_image)
我仍然在我的android手機上出現黑屏。
我注意到在logcat中的以下內容:
Window already focused, ignoring focus gain of: [email protected]
如果我刪除線程,我沒有得到這個錯誤。
任何幫助?
你能告訴我們一些代碼嗎?你能否爲有問題的字段顯示你的定義?當我認爲你的意思是「課堂」時,你使用「文件」這個詞,對吧? – Gray 2012-04-09 20:43:58
是的每個文件都定義了一個類。 – Adroidist 2012-04-09 20:49:14
可以'boolean_variable'爲'false'?應該是一個時間循環或什麼的。 while(!boolean_variable){sleep(1000); ''或者什麼? – Gray 2012-04-09 22:36:41