2017-07-26 17 views
1

から出力されませんが実行される。しかし、画面上のメッセージは変わらないことがあります。 2番目のスレッドで定義されたアクションが開始されます。メソッドsetTextMessageは2番目のスレッドで呼び出されますが、UIスレッドのテキストは変更されません。どうして?んが、メッセージは、私は2つのスレッドを持っている第二のスレッド

+0

最初に初期化を表示してからダウンロードしていますか?それともそれ以外の方法ですか? – Abbas

+0

メインスレッド(アクティビティ)で最初にダウンロードを開始 –

+0

問題の編集でコード全体または 'setDialogMessage'メソッドのdefinationを貼り付けるとよいでしょう。 –

答えて

1

あなたのコードは正しいですし、第二のスレッドが開始セカンドスレッドを開始し、第二のスレッドであなたが最初のスレッドを開始する書き込みコードを持っている場合。あなたはテキストのダウンロードを参照してくださいすることができませんので

最初のスレッドが非常に速く起動し、初期が突然表示されます。

Log.e("TAG", "Downloading);を2番目のスレッドで使用して、実際に何が起こるかを知るようにしてください。

+0

私は常にダウンロードを参照してください。しかし、時には私は初期化(ダウンロードの滞在)が画面に表示されません。ログでは、すべてOKのように見えます。 –

+0

ダウンロード - 最初のスレッド、Init - 2番目のスレッド。 –

+0

**はあなたのUIがハングすることを意味します**あなたが使用している2つの異なるスレッドがあり、両方から同じ**ダイアログ**にアクセスしているためです。最初に却下してからダイアログを再開してください。スレッドごとに2つの別々のダイアログを使用することもできます。それがあなたを助けることを願っています。 –

関連する問題