問題タブ [android-runonuithread]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
11910 参照

android - runOnUiThread(new Runnable(){句読点(トークン)の問題

どういうわけかそれは機能しません、私によるとそれはこれであるはずです:

誰かが私が何かを逃しているところに何か考えがありますか?

正式なコメント 私はばかげた問題を知っているか、あるいは不可能なことをしているかもしれませんが、私はすべての論理的な可能性を試しました。おそらく何かが足りないか、私は不可能なことをしようとしています。手伝ってくれませんか。次のコードを使用しようとしていますが、トークンの問題が発生します。

runOnUiThreadをブロックすると、別のスレッドからUIを適応させようとしているためにクラッシュしますが、少なくともトークンの問題はありません。

0 投票する
1 に答える
2916 参照

android - UI スレッドを使用して ImageView のビットマップを更新する

別の操作中に、ビットマップのピクセルを 1 秒ごとに操作し、結果を に表示する必要がありImageViewます。これは、ビットマップと更新を操作するメソッドですImageView

上記のメソッドは、UI スレッド (onclickボタンのイベント) から次のように呼び出されます。

アプリの実行中は、アプリのクラッシュや ANR は問題ありませんが、ImageView( iv1) は更新されません。コードをデバッグすると、ビットマップのピクセルが操作されています。try/catchまた、ブロックのコメントを外しましたが、結果は同じでした。

奇妙です: while ブロックの開始と終了にコメントを付けると、ビットマップが正しく操作され (1 回と 1 回j = 70)、ImageView期待どおりに更新されます!

更新の質問:

eshayne と Onik のコメントと回答に対して、ピクセル操作のoverlay方法を単純な操作に変更して結果を確認しましたが、結果は同じでした。実際のoverlay方法を使用しますopenCVが、ここではピクセルの色を変更するため、使用せずに結果を確認できますopenCV:

オーバーレイ メソッド、簡略化:

ImageViewを毎秒更新するにはどうすればよいwhileですか? 私は何か間違ったことをしましたか?

0 投票する
1 に答える
83 参照

android - Thread.wait() を呼び出す

でいくつかの操作を行い、次にcallcurrentThreadで待機する必要があります。私はこのコードを試していましたUiThreadUiThreadcurrentThread().notify()

しかし、java.lang.IllegalMonitorStateException: object not locked by thread before wait()例外があります。私を助けてください。

0 投票する
3 に答える
311 参照

android - setListAdapter が表示されない

フェッチ結果のセットをリストとして表示しようとしています。ダミーデータを使用しようとすると、正しく表示されますが、サーバーから取得したデータに変更しても何も起こりません。エラーが発生しないので、非常に混乱します

文字列配列countriesrunOnUiThreadメソッドで正しく表示されますが、タイトルは正しく表示されません。titles 文字列配列に配置されたデータを確認しましたが、有効です。なぜこれが起こっているのですか?

0 投票する
1 に答える
77 参照

java - スレッドを再開するには?

2 つのスレッドがあり、そのうちの 1 つはボタンを押すと開始されます。ボタンに 1 ~ 20 の値を表示するだけbtn.settext(""+ j)です。そのボタンのリスナー内に、次のように記述しました。

t2 はスレッドです。実行時に何が起こるかというと、スレッド 2 の実行中にボタンをクリックしても何も起こりませんが、スレッド 2 がジョブを終了してボタンをクリックするとアプリがクラッシュします。それが起こる理由は何ですか?

0 投票する
1 に答える
922 参照

android - ハンドラーでシークバーを更新できません

MediaPlayer で曲の進行状況に応じてシークバーを更新しようとしています。私はスレッドを使用してそのタスクを実行しています。

最初に、スレッド内で Thred を使用して UI を更新しようとしましたが、アプリがクラッシュし、元のスレッドのみがビューに接続できると言います。

次に、実行可能なスレッド内のハンドラーで更新しようとしました。これは正常に機能しますが、シークバーを更新していません。ログを取得すると、ループがハンドラー内にないことがわかります。どこに問題があるのか​​わからない。SeekBar の更新を手伝ってください。

コード:

0 投票する
1 に答える
48 参照

android - スレッドはダイアログを実行しませんか?

ダイアログとスレッドがあります。スレッドが終了したら、ダイアログを実行したいと思います。問題は実行される場合と実行されない場合があります。なぜこれが起こるのか理解できません。

どうすれば解決できますか?

スレッド

0 投票する
1 に答える
1103 参照

android - ArrayAdapter notifyDataSetChanged が UI スレッドで実行されない

以下のコードを実行して作成した新しいスレッド内で実行しています。

したがって、runonUI コードが実行されることはありません。アダプターを更新するには、UI スレッドで実行する必要があるという印象を受けました。また、アダプターを正しく更新していますか?

0 投票する
0 に答える
690 参照

android - TextView のマーキー、点滅するテキストビュー、シークバーの進行状況スレッドが UI をブロックする

アプリで 3 つのアニメーションを使用しています。

1. TextView マーク (スクロールは継続)

2. Textview の点滅 (音楽アプリが一時停止モードの場合)

3. SeekBar プログレス スレッド (再生された曲のプログレスを表示)

アプリに何よりも効果を使用している間、アプリのUIはほとんどハングしません。すべてがUIスレッドで作業していると思います。お互いに邪魔することなく、それぞれが独立して仕事をしているように扱いたいです。

コードは以下のようなものです:

アプリの XML レイアウト:

私のクラスコードは以下のようなものです:

点滅アニメーション:

互いにぶ​​ら下がることなく独立して動作するようにこれらすべてを実装するための助けが必要です。