私はすべての機能が定義されているAndroidのJavaプロジェクトでメインクラスを持っています。次に、メインクラスを拡張してRunnable
を実装する2つのクラスがあります。Windowsは既に焦点を当てている - 複数のスレッドの後でフォーカスを無視する
- メインクラス:すべての主要な機能
- がクラス2:私は、すべての主要な機能を使用して、私は、ファイル内の2
- クラス3変更静的変数
X
持っている:私はすべての主要な機能を使用して持っているが静的変数Y
をファイル3で修正しました。
メインクラスでは、Class2用とClass3用の2つのスレッドを開始します。
メインクラスから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
はい、すべてのファイルがクラスを定義しています。 – Adroidist
'boolean_variable'を' false'にできますか?それはwhileループか何かでなければならない。 'while(!boolean_variable){sleep(1000); } 'または何か? – Gray