私のアプリには、タイマーとして機能するシークバーとシークバーの両端にある 2 つのテキスト ビューを備えたメディア プレーヤーがあり、このプレーヤーで .wav ファイルを再生します。また、同じアクティビティに editext があり、再生中に編集する必要があります。私の問題は、再生が進行中で、編集テキストに触れている場合、ソフトキーボードが表示され、UI が動かなくなることです。これは、シークバーの更新とタイマーの更新が動かなくなることを意味します。ハンドラーを使用してタイマータスクを使用して更新しています。誰でもこの問題を理解するのに役立ちますか。ソフトキーボードが表示されているときに UI が動かなくなるのはなぜですか?
タイマータスクの使用の問題になると推測して、メディアプレーヤーを更新する他の多くの方法を試しました。
- サービスを使用して mediaplyer を再生し、ハンドラーを使用して UI に更新します。
- 進行状況をメッセージとして送信することにより、スレッドとハンドラーのみを使用します。
- Assynctask を使用し、runOnUIthread で更新します。
これらすべてのケースで、ソフトキーボードが他のすべての Textviews を表示し、シークバーの更新が停止します。この問題から抜け出すのを手伝ってください。完全に立ち往生しています:-(。この問題を解決する他の方法はありますか。