私はボタンを持っています。それを押すと、オーディオファイルが再生されます。ボタンに5秒間の遅延をかけて、ユーザーがボタンをマッシュして音を繰り返し再生しないようにしたい。私はそれがプッシュされた後、ボタンが5秒間無効にされることを本当に望んでいると思います。誰もこれを行う方法を知っていますか?ボタンのあなたのonClickListenerでアンドロイド:ボタンを押した後に遅延を入れる方法は?
7
A
答えて
29
:
myButton.setEnabled(false);
Timer buttonTimer = new Timer();
buttonTimer.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
myButton.setEnabled(true);
}
});
}
}, 5000);
これは、クリックされたときにボタンを無効にし、5秒後に再度有効になります。
アクティビティではなく、ビューを拡張するクラスでclickイベントが処理される場合は、同じことを実行しますが、runOnUiThread
をpost
に置き換えます。
+0
は完全に動作します!どうもありがとうございました – fargoh
2
ここに行きます。
((Button) findViewById(R.id.click))
.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
((Button) findViewById(R.id.click)).setEnabled(false);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
((Button) findViewById(R.id.click))
.setEnabled(true);
}
}, 5000);
}
});
18
ボタンを無効にして、ボタンにpostDelayedメソッドを使用できます。
myButton.setEnabled(false);
myButton.postDelayed(new Runnable() {
@Override
public void run() {
myButton.setEnabled(true);
}
}, 5000);
このタイマ溶液と同様であるが、(ユーザが電話を回転させる場合など)は、より良好な構成変更を扱うかもしれない
関連する問題
- 1. アンドロイドのarraylistの中に遅延を入れる方法
- 2. アンドロイド - "電源ボタン"を押した後にコードを実行する方法
- 3. FLEXコードに遅延を入れる方法は?
- 4. android戻るボタンを押した後にダイアログボックスを置く方法
- 5. asp.netのボタンを押した後にGridviewをリフレッシュする方法
- 6. ボタンを押したままウィンドウを表示しますが、Android Studioの遅延(LongPress)の後に
- 7. 入力後に値を検索し、テキストボックスに入力ボタンを押す方法
- 8. Polymer 1.0ボタンを押した後、バージングリッドに入力された紙の値を表示する方法は?
- 9. tkinterボタンを押した後にロックする方法
- 10. アンドロイドの "onItemSelected()"機能で遅延を設定する方法は?
- 11. アンドロイドでボタンをクリックした後、アンドロイドにテキストを表示する方法は?
- 12. キャプチャ/バブリングフェーズの間に遅延を入れる方法
- 13. COCOS2D Androidに時間遅延を入れる方法
- 14. アンドロイドに遅延を設定する方法
- 15. ボタンを押したままにして別のボタンをクリックした後にそのボタンを放す方法は?
- 16. ボタンを押した後にスライドアウトする
- 17. 挿入ボタンを押した後に残るデータ
- 18. selenium Webdriverの下矢印キーを押した後に "Enter"ボタンを押す方法?
- 19. Androidアラートダイアログ - 押した後に[OK]ボタンを隠す方法
- 20. ボタンを押してからコード行を実行するまでの遅延を計算する方法
- 21. Python/Tkinter:遅延後にボタンのテキストを更新します。
- 22. 特定の遅延後にHTMLボタンを有効にする
- 23. アンドロイド - MediaPlayerのループ遅延を削除する方法?
- 24. アンドロイドで遅延ディープリンクを実装する方法
- 25. Androidでボタンを押した後、テキストを[ラジオボタン]に表示する方法は?
- 26. ボタンを押した後でもボタンの画像を表示する方法
- 27. 遅延/バッファリングされたパイプを構築する方法は?
- 28. Angular2遅延ロードされたモジュールに向ける方法は?
- 29. Xcodeの遅延ボタン
- 30. 遅延をJavaScriptに入れよう
が、5秒の遅延は、ユーザにアプリの存在の印象を与えることができます応答しない –
オーディオの長さが変わった場合、おそらくメディアプレーヤーのコールバックを考えてみることができます - http://stackoverflow.com/questions/6001497/calling-another-activity-when-mediaplayer-get-finished-playing - アクティビティを呼び出す代わりに、ボタンを再度有効にすることができます –
'CountDownTimer'を使用する – Houcine