2016-09-17 6 views
0

私はアンドロイドアプリでシークバーを持っています。いくつかのアクションを実行するためにシークバーの長いクリックイベントを検出する必要があります。何か解決策を提案してください。シークバーでonLongClickListenerを試しましたが、動作していません。シークバーサムの長いクリックイベントを検出する

+0

SeekbarまたはThumbで? – Mann

+0

いずれか。親指で持てるほうがいいです。 – Madhan

答えて

1

ドキュメントを読んだら、SeekBarLongClickの開発者に問題が発生した場合、LongClickListenerSeekBarで動作していないようです。

しかし、私は回避策を提案することができます:

  1. シークバー:あなたがシークバーのために、あなたは1秒のタイムアウトを設定し、それをLongClickを検討することができMOTION_DOWNアクションのonTouchイベントを実装することができます。 MOTION_UPが呼び出された場合は、タイマーをキャンセルしてください。

  2. 親指:あなたはOnSeekBarChangeListenerを実装することができますし、onStartTrackingTouchイベントにあなたは1秒のタイムアウトを設定し、onStopTrackingTouchまたはonProgressChangedがタイムアウト中に呼び出されていない場合、それLongClick考えることができます(onStopTrackingTouch/onProgressChangedが呼び出された場合、タイマーをキャンセルします。)

私のIDEが開いていないため、コードを投稿していません。しかし、私はあなたがこのロジックを使用して方法を見つけることができることを願っています。 (私が言及した出来事について知らないなら、文書を読んでください)

ありがとう。

+1

ありがとうございます。私はシークバーのonTouchイベントを実装し、現在はその作業を行っています。 – Madhan