私は、特定のコントロールが押されたときにボタンを強調表示し、非表示にする必要があるアンドロイドのビューを持っています。これは使い勝手の良い機能です。各ボタンがハイライト表示されているので、ユーザーに大声で読み上げられます。私はAlphaAnimationクラスを使ってハイライトを完成させます。しかし、今では無効化呼び出しまたはコールバックスレッドをいくつ入れたかによって、最後のアニメーションだけが実際にユーザーに提示されます。他のアニメーションはまだ呼び出されていますが、最後のアニメーションではオーバーライドされるため、1つしか表示されません。私はボタンの不透明度/アルファプロパティを設定することも試みましたが、これらの変更は一度に一括して実行されます。これらのアニメーションがシーケンスで発生する必要があります。コントロールフローが返される前にメインビューを更新するための良い方法はまだ見つかりませんでした(つまり、呼び出すメソッドが返される前に複数回更新する)。誰にもアイデアはありますか?複数のボタンアニメーションが順番に表示されます - 最後の1つだけが表示されます
1
A
答えて
2
この問題にぶつかる他の人にとって、私はついに解決策を見つけました。
ドキュメント: http://developer.android.com/reference/android/os/AsyncTask.html http://www.anddev.org/tut_updating_ui_from_a_thread-t11125.html
私のソリューション:ボタンの配列を取り込みAsyncTaskを作成します。そのdoInBackgroundメソッドでは、ハイライト/淡色表示し、ボタンのハイライト表示の各繰り返し中に、有効なボタンの更新をonProgressUpdateメソッドにプッシュします。 onProgressUpdateメソッドは、渡されたすべてのボタンに対してinvalidate()を呼び出します。ハイライト機能に簡単にアクセスできるように、AsyncTaskの新しいインスタンスを作成し、呼び出しを実行する静的ハイライト(buttons ...)メソッドを作成しました。
関連する問題
- 1. imshowの最後のフレームだけが表示されます
- 2. iOSチャートにはグラフセグメントが1つだけ表示されます
- 3. Android - 複数の表示が表示されない(最初の表示のみが表示されます)
- 4. 保存されたBufferedImageに最後の円だけが表示されます
- 5. 注釈が1つだけ表示されています
- 6. 複数のdivが1つの.load()で表示されます
- 7. Android Googleマップのフラグメントが1回だけ表示されます
- 8. ListActivityに1行だけが表示されます
- 9. ドロップダウンリストには1文字だけが表示されますPrestashop
- 10. Highchartsの行が順番に表示されますか?
- 11. SQLの文字列順、数字が最後に表示されます
- 12. ページの下部に複数の固定アイコンが表示されますが、表示されるのは1つだけです
- 13. 1つのdivが表示され、1つのdivが表示されない
- 14. SSRSサブレポートでグループのレコードが1つだけ表示される
- 15. 複数の要素がng-ifで表示され、常に1つだけ表示されます。同じIDを共有できますか?
- 16. URLの後に2番目のURLが表示されます
- 17. 各契約ごとに最後に作成されたレコードが2つだけ表示されます。
- 18. 複数の通知が表示され、最初の通知のみが表示されます。
- 19. Androidソフトキーボードのショー番号が最初に表示されます
- 20. 3つのSELECTメニューのうち、1つだけが表示されます...何が欠けていますか?
- 21. 複数のリストボックスを右クリックすると、1つのオプションだけが強調表示されます
- 22. Powerbuilderのタブページが表示されます(表示されます)?
- 23. 画像を1つだけアップロードすると、エラーが表示されます。
- 24. XSLT IDと一致する行が1つだけ表示されます
- 25. 1つのページで複数のWordpressエラーが表示される
- 26. htaが表示され、ダウンロードのダウンロードメッセージが表示されます
- 27. ドロップダウンに表示される値の順番が変更されました
- 28. Html2canvas - コンテンツの半分だけがpdfに表示されます
- 29. 1つではなく複数のメッセージボックスが表示される
- 30. jstreeにフォルダ名が表示されません。アイコンだけが表示されます
あなたのコードはどこですか? – blessenm
ここでコードを投稿するにはあまりにも多くのアプローチを試みましたが、コードには問題はないようでした。私は最終的にそれを理解し、以下の解決策を掲載しました。 –