問題タブ [android-handler]

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 投票する
3 に答える
2029 参照

android - Handler ですべてのスケジュールされた (postDelayed) ランナブルを実行する

Runnable経由でいくつかを投稿するハンドラーを使用しますが、新しい経由で投稿する前にpostDelayed(r, DELAY_TIME)すべてを実行する必要があります。RunnablespostDelayed

これをできるだけ簡単に達成するための良いアイデアはありますか?

編集:

私は基本的に次のようにしたい:

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

java - アクティビティが終了するとスレッドは終了しますか?

バックグラウンド スレッドを開始すると、スレッドが終了する前に finish() から開始されたアクティビティが発生するとどうなりますか。スレッドも終了しますか、それとも存続しますか?

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

java - ハンドラを介してアクティビティ内で別のアクティビティ関数を呼び出すと機能しません

CountDownTimer別のアクティビティから始めたい。ハンドラーを使用してそれを行いますが、機能しません。どの部分が間違っていますか? これは私のコードです:

activity1.java:

activity2.java:

なぜこれが機能しないのですか?

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

java - 方向変更前にスレッドが停止していないため、ヌル ポインター エラーが発生しました

バックグラウンド スレッドを実行する気象データを表示するフラグメントがあります。このスレッドは、基本的にメイン UI で関数を呼び出して、予報がまだ有効かどうかを確認するだけです。この関数は UI を更新するので、次のように を使用してメイン スレッドにHandler投稿しています。Runnable

これは正常に機能します。問題は、画面の向きを変更したときです。Runnable現在のアクティビティは破棄され、スレッドが実行中の場合は、存在しなくなった UI スレッドに投稿しようとします。そのため、クラスrunningにメンバー変数を配置し、アクティビティが呼び出されたときにif を設定します。ただし、 変数を false に設定しても、スレッドは引き続き a を投稿しようとしますが、現在は null です! そこまで行くべきではありませんが、そうです!UpdateThreadfalseonPauseUpdateThread.runningRunnableHandler

私はこれを間違っていますか?私のログメッセージ「スレッドに停止を求めています」が出力されるので、running を false に設定するところまで到達していることがわかります。

誰でも洞察を提供できますか?

ありがとう

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

android - Androidで別のクラスからハンドラーを呼び出す方法は?

私のアプリケーションでは、別のクラスでハンドラーメソッドを呼び出すことができないタイムアウト関数を設定しようとしています。

私のタイムアウトクラス

メイン クラス メイン クラスではこの方法でメソッドを呼び出しますが、実行時にエラーが表示され、

メインクラスでメソッドを呼び出す方法.誰でもこの問題を解決するのを手伝ってください.

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

android - Android でのマルチスレッド ハンドラーのベスト プラクティスは何ですか?

HTTPRequestsたとえば、いくつかを使用するアプリがあります

  • セッション ID を取得する

  • 位置データを取得する

  • 既存のカテゴリを取得する

  • (...) その他

HTTPRequestHandler基本的にすべての for each Request を管理するを作成しましたAsynTasks...これはうまく機能しますが、私の問題は、さまざまな を管理するための良い方法がわからないことAsynTasksです。たとえば、 をSessionId Task開始する前にを取得する必要があります。GetSomeLocationData Task

だから私の中には、次のようHTTPRequestHandlerに依存して始まるキューがありますAsyncTasks:

ただし、これは問題なく動作しますが、(接続によっては) このキューに時間がかかり、AsynTasks最初のデータがまだロードされていないため、ユーザーが失敗する他のキューを開始できるという問題があります。

ブール値のようなものを設定isSessionIdLoadedしたり、ユーザーの UI をブロックしたりできますが、もっと良い解決策があるかどうか疑問に思っています。

だから私の質問は次のとおりです。連続して実行されるある種のキュー(ArrayList、Map ..)に非同期タスクを入れる方法はありますか?

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

android - Android バックグラウンド サービスの問題から現在の場所を取得する

位置情報に基づくリマインダー アプリを開発したい。したがって、アプリが実行されていなくても、現在の場所を取得するために Android サービスを使用したいと考えています。しかし、私はしませんでした。Android サービス クラスでタイマーを設定しましたが、サービス クラスで現在の位置を取得する方法がわかりません。何が問題ですか ?次のようなエラーが発生しました。

looper.prepare() を呼び出していないスレッド内でハンドラーを作成することはできません

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

android - Android Handler 更新インターフェースのエラー

実行するたびに、setText行にエラーが発生します。理由がわかりません。

ご協力いただきありがとうございます。

ここに画像の説明を入力