タグ付けされた質問 「handler」

オブザーバーパターンでは、イベントハンドラーは、サブジェクトによってディスパッチされたイベントをリッスンしているオブザーバーで呼び出される関数またはメソッドです。イベントリスナーとも呼ばれます。

30
Androidで遅延後にメソッドを呼び出す方法
指定した遅延後に次のメソッドを呼び出すことができるようにしたいと思います。目的cでは、次のようなものがありました。 [self performSelector:@selector(DoSomething) withObject:nil afterDelay:5]; AndroidのJavaでこのメソッドに相当するものはありますか?たとえば、5秒後にメソッドを呼び出せるようにする必要があります。 public void DoSomething() { //do something here }
770 java  android  handler  delay 

12
AsyncTaskは本当に概念的に欠陥があるのですか、それとも何か不足していますか?
私は今月この問題を調査してきましたが、さまざまな解決策を考え出しましたが、それらはすべて大規模なハックなので、満足できません。デザインに欠陥のあるクラスがフレームワークに組み込まれ、誰もそれについて話していないとはまだ信じられないので、私は何かを逃しているにちがいないと思います。 問題はにありAsyncTaskます。ドキュメントによると 「スレッドやハンドラーを操作しなくても、UIスレッドでバックグラウンド操作を実行して結果を公開できます。」 次に、例では引き続き、いくつかの例示的なshowDialog()メソッドがで呼び出される方法を示しますonPostExecute()。ただし、ダイアログを表示するには常に有効なへの参照が必要であり、AsyncTask がコンテキストオブジェクトへの強い参照を保持してはならないため、これは私には完全にContext不自然に思われます。 その理由は明らかです。タスクをトリガーしたアクティビティが破棄された場合はどうなりますか?これは常に発生する可能性があります。たとえば、画面をめくった場合などです。タスクは、それを作成したコンテキストへの参照を保持したい場合、あなたは(ウィンドウが破壊されているでしょうし、無用なコンテキストオブジェクトへの上に保持しているだけでなく、任意の UIの相互作用が例外で失敗します!)、あなたもAを作成する危険性メモリーリーク。 私のロジックにここで欠陥がない限り、これは次のように変換されます:onPostExecute()コンテキストにアクセスできない場合にこのメソッドをUIスレッドで実行するのはどのようなメリットがあるので、これはまったく役に立たないのですか?ここでは意味のあることは何もできません。 回避策の1つは、コンテキストインスタンスをAsyncTaskに渡すのではなく、Handlerインスタンスを渡すことです。これは機能します。ハンドラーはコンテキストとタスクを緩やかにバインドするため、リークの危険を冒すことなく、それらの間でメッセージを交換できます(正しいですか)。しかし、それはAsyncTaskの前提、つまりハンドラーに煩わされる必要がないということは間違っていることを意味します。同じスレッドでメッセージを送受信しているため、ハンドラーを悪用しているようにも見えます(UIスレッドでメッセージを作成し、UIスレッドで実行されるonPostExecute()で送信します)。 さらに、その回避策を使用しても、コンテキストが破棄されたときに、それが起動したタスクの記録がないという問題があります。つまり、たとえば画面の向きが変わった後など、コンテキストを再作成するときにタスクを再起動する必要があります。これは遅く、無駄です。 これに対する私の解決策(Droid-Fuライブラリで実装されている)は、WeakReferencesのコンポーネント名から、一意のアプリケーションオブジェクトの現在のインスタンスへのマッピングを維持することです。AsyncTaskが起動すると、そのマップに呼び出しコンテキストが記録され、コールバックごとに、そのマッピングから現在のコンテキストインスタンスがフェッチされます。これにより、失効したコンテキストインスタンスを参照することがなくなり、コールバック内の有効なコンテキストに常にアクセスできるため、そこで有効なUI作業を実行できます。また、参照が弱く、特定のコンポーネントのインスタンスが存在しなくなったときにクリアされるため、リークも発生しません。 それでも、これは複雑な回避策であり、いくつかのDroid-Fuライブラリクラスをサブクラス化する必要があるため、これはかなり煩わしいアプローチになります。 今私は単に知りたいです:私は何かを大規模に欠落していますか、それともAsyncTaskは本当に完全に欠陥がありますか?あなたの経験はどのように機能していますか?これらの問題をどのように解決しましたか? ご入力いただきありがとうございます。

10
ng-repeatが終了したときに関数を呼び出す
私が実装しようとしているのは、基本的には「on ng repeat finished rendering」ハンドラです。いつ完了したかは検出できますが、そこから関数をトリガーする方法がわかりません。 フィドルを確認してください:http : //jsfiddle.net/paulocoelho/BsMqq/3/ JS var module = angular.module('testApp', []) .directive('onFinishRender', function () { return { restrict: 'A', link: function (scope, element, attr) { if (scope.$last === true) { element.ready(function () { console.log("calling:"+attr.onFinishRender); // CALL TEST HERE! }); } } } }); function myC($scope) { $scope.ta …

7
動的HTMLをロードした後にクリックイベントを追加するためのjQuery .live()メソッドと.on()メソッド
私は.live()メソッドが明らかに非推奨であるjQuery v.1.7.1を使用しています。 私が抱えている問題は、次のように使用して要素にHTMLを動的にロードする場合です。 $('#parent').load("http://..."); 後でクリックイベントを追加しようとしても、これらの方法のいずれかを使用してイベントが登録されません。 $('#parent').click(function() ...); または // according to documentation this should be used instead of .live() $('#child').on('click', function() ...); この機能を実現する正しい方法は何ですか?それは私にとって.live()でのみ機能するようですが、私はそのメソッドを使用するべきではありません。#childは動的にロードされる要素であることに注意してください。 ありがとう。

4
Javaでカスタムイベントを作成する
私はJavaでこのようなことをしたいのですが、方法がわかりません: イベント「object 1 say 'hello'」が発生すると、オブジェクト2は「hello」と言ってそのイベントに応答します。 誰かが私にヒントやサンプルコードをくれますか?
193 java  events  listener  handler 

12
AndroidでのAsyncTaskとエラー処理
私は使用してから私のコードを変換していますHandlerしAsyncTask。後者は、非同期UIの結果とメインUIスレッドでの結果の処理で、その機能が優れています。私に不明確なのは、何かがうまくいかない場合の例外の処理方法ですAsyncTask#doInBackgroundです。 私が行う方法は、エラーハンドラーを用意し、それにメッセージを送信することです。それはうまくいきますが、それは「正しい」アプローチですか、それとももっと良い代替案がありますか? また、エラーハンドラーをアクティビティフィールドとして定義すると、UIスレッドで実行する必要があることも理解しています。ただし、(非常に予期できない)例外が発生し、トリガーされたコードがHandler#handleMessage間違ったスレッドで実行されていることがわかります。Activity#onCreate代わりにエラーハンドラを初期化する必要がありますか?に配置runOnUiThreadすることHandler#handleMessageは冗長に見えますが、非常に確実に実行されます。

9
UINavigationControllerの完了ハンドラー「pushViewController:animated」?
UINavigationController次のビューコントローラーを表示するためにを使用してアプリを作成します。iOS5では、プレゼンテーションに新しい方法がありUIViewControllersます。 presentViewController:animated:completion: なぜ完了ハンドラがUINavigationControllerないのですか?ただあります pushViewController:animated: newのような独自の完了ハンドラを作成することは可能presentViewController:animated:completion:ですか?

4
handler.postDelayed()を停止します
new Handler()。postDelayed(new Runnable().....で複数のハンドラーを呼び出します。戻るをクリックしたときに、どのようにしてそれを停止できますか? public class MyActivity extends AppCompatActivity implements OnClickListener { private Button btn; private Handler handler; private Runnable myRunnable; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); btn = (Button) findViewById(R.id.trainingsstart); btn.setOnClickListener(this); } @Override public void onClick(View v) { Handler handler = new Handler(); Runnable myRunnable = new Runnable() { …

3
タイマータスクまたはハンドラー
10秒ごとになんらかのアクションを実行したいとしますが、必ずしもビューを更新する必要はありません。 問題は、次のようにtimertaskでtimerを使用する方が良い(つまり、より効率的で効果的)かどうかです。 final Handler handler = new Handler(); TimerTask timertask = new TimerTask() { @Override public void run() { handler.post(new Runnable() { public void run() { <some task> } }); } }; timer = new Timer(); timer.schedule(timertask, 0, 15000); } またはpostdelayedのハンドラー final Handler handler = new Handler(); final Runnable r …


7
サービスからUIスレッドハンドラーにアクセスする
私は、UIスレッドのハンドラーにアクセスする必要があるAndroidで新しいことを試しています。 私は次のことを知っています: UIスレッドには独自のハンドラーとルーパーがあります メッセージはすべてUIスレッドのメッセージキューに入れられます ルーパーはイベントを取得してハンドラーに渡しました ハンドラーがメッセージを処理し、特定のイベントをUIに送信します UIスレッドハンドラーを取得し、このハンドラーにメッセージを送信する必要があるサービスが必要です。このメッセージが処理され、UIに発行されるようにします。ここでサービスは、いくつかのアプリケーションによって開始される通常のサービスになります。 これが可能かどうか知りたいのですが。もしそうなら、私がそれを試すことができるように、いくつかのコードスニペットを提案してください。 よろしくお願いします

7
パラメータ付きのJavascriptイベントハンドラ
イベントといくつかのパラメーターを渡すeventHandlerを作成したいと思います。問題は、関数が要素を取得しないことです。次に例を示します。 doClick = function(func){ var elem = .. // the element where it is all about elem.onclick = function(e){ func(e, elem); } } doClick(function(e, element){ // do stuff with element and the event }); 'elem'は無名関数の外部で定義する必要があります。渡された要素を匿名関数内で使用するにはどうすればよいですか?これを行う方法はありますか? そして、addEventListenerはどうですか?addEventListenerを介してイベントを渡すことができないようです。 更新 'this'の問題を修正したようです doClick = function(func){ var that = this; this.element.onclick = function(e){ func(e, that); …

3
ハンドラーとは[クローズ]
クローズ。この質問はもっと焦点を合わせる必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てるようにします。 6年前に閉鎖されました。 この質問を改善する こんにちは私はいくつかのプログラミング関連の用語を学ぼうとしています、そして私はしばしばワードハンドラーに出くわします。ハンドラーの意味とその用語をいつ使用するかを誰かに説明してもらえますか?
86 handler 

11
Javaのイベントリスナーとハンドラーの違いは何ですか?
Javaの一般的な用語では、イベントのリスナーとハンドラーがあります。 つまり、APIで利用可能なものだけを、無意識のうちに使用します。 私の質問は、どのような場合にリスナーを使用し、どのような場合にイベントのハンドラーを使用するのかということです。 それらの違いは何ですか?特徴?? 理由を検索しましたが、Javaの適切な説明が見つかりませんでした。

3
複数のタスクを含むAnsibleハンドラーを作成するにはどうすればよいですか?
変更に応じて、実行する必要のある関連タスクが複数あります。複数のタスクを含むAnsibleハンドラーを作成するにはどうすればよいですか? たとえば、すでに開始されている場合にのみサービスを再起動するハンドラーが必要です。 - name: Restart conditionally shell: check_is_started.sh register: result - name: Restart conditionally step 2 service: name=service state=restarted when: result
81 handler  ansible 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.