私はカスタムlistview
を持っています。項目はスクロールです。私はlistview
の項目のための5秒のためのアイテムのシングルタッチとロングプレスを実行したい。これを行う方法。私はlistview
の項目の時間間隔を5秒に増やすには、どうすればlongpress
を増やすことができますか?アンドロイド:アンドロイドのリストビュー項目の長押し時間を増やすにはどうすればいいですか?
答えて
setOnItemLongClickListener
、その後、あなたはOnTouchListener
に触れビューを設定することができ、時間がACTION_DOWN
とACTION_UP
の間に5秒以上であれば、あなたが計算できるので、あなたは、あなたが時間ACTION_DOWN
と時間ACTION_UP
を、記録することができますすることができます。
遅延を変更することはできません。これはアンドロイドのフレームワークに組み込まれています。私も同じ問題日前に出会った。
setOnTouchListener
を手動で使用できます。
例:
private long then;
private int longClickDur= 5000; //5 seconds
//you can use any view you want
ImageView imageView = (ImageView) findViewById(R.id.longclick_view);
imageView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
then = (long) System.currentTimeMillis();
} else if (event.getAction() == MotionEvent.ACTION_UP) {
if ((System.currentTimeMillis() - then) > longClickDuration) {
/* Long click behaviour will go here*/
Toast.makeText(context, "yay, long click", Toast.LENGTH.SHORT);
return false;
} else {
/* LONG CLICK FAILED*/
Toast.makeText(context, "TRY AGAIN", Toast.LENGTH.SHORT);
return false;
}
}
return true;
}
});
私は同じことをしましたが、その場合、リストビューの水平スクロールは起こりません.... –
それが実行する前に、自分の指を持ち上げるために、ユーザーを待たないので、これは、より正確onLongPress複製します。 ViewPager専用に書かれていますが、同様のロジックを適用できるはずです。私たちは指を離す前に、我々は通常、ポップアップや変更を待つため、不自然ユースケースだろうIMO
// long press duration in milliseconds
public static final int LONG_PRESS_DURATION = 2000;
private boolean mIsTouching = false;
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == event.ACTION_DOWN) {
mIsTouching = true;
} else if (event.getAction() == event.ACTION_UP) {
mIsTouching = false;
}
return super.onTouchEvent(event);
}
@Override
public void onLongPress(MotionEvent event) {
// subtracts the system set timeout since that time has already occured at this point
int duration = LONG_PRESS_DURATION - getLongPressTimeout();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
if (mIsTouching) {
do something...
}
}
}, duration > 0 ? duration : 0);
}
'onLongPress(MotionEvent)'メソッドはどこですか?私は 'ViewPager'でそれを見つけることができません。 'View.OnLongClickListener'の' onLongClick(View view) 'を意味しますか? –
ありがとうございます。あなたのソリューションからgetLongPressTimeout()を削除する必要がありましたが、私のために働きました。 – TomV
- 1. アンドロイドでスクロールしている間、リストビューの項目が変わります。
- 2. アンドロイドのメニュー項目にフォントを設定するにはどうすればいいですか?
- 3. リストビュー項目のテキストビューのテキスト色を設定しますか? (アンドロイド)
- 4. 長押しアンドロイド
- 5. アンドロイドはリストビューに動的に項目を追加します
- 6. アンドロイドで、メニュー項目のメソッドに文字列を送信するにはどうすればよいですか?
- 7. リストビュー項目がアンドロイドに表示されない
- 8. codeigniterの大きなファイルのファイルアップロード時間を増やすにはどうすればいいですか?
- 9. イメージを圧縮してページのアップロード時間を増やすにはどうすればよいですか?
- 10. アンドロイドで時間ベースのアニメーションを行うにはどうすればいいですか?
- 11. アンドロイドで画面の調光時間をプログラマチックに変更するにはどうすればいいですか?
- 12. リストの項目をアンドロイドのリストビューにドラッグアンドドロップする方法
- 13. リスト項目をアンドロイドでリストビューに動的に挿入する
- 14. アンドロイドからPythonサーバーまでの時間長のフレーミングバイトパケットはどうですか?
- 15. 別のビューにあるボタンを押してラベルを増やすにはどうすればよいですか?
- 16. 増加次のように私は、リストビューを生成していますアンドロイド
- 17. uwpでtoastNotificationの表示時間を増やすにはどうすればよいですか?
- 18. アンドロイドのリストビューで現在のアイテムを強調するにはどうすればいいですか?
- 19. どのように私はアンドロイドの次の活性のリストビューのチェック項目を表示できますか?
- 20. JButtonを押すたびにJTextFieldの数を増やすにはどうすればよいですか?
- 21. アンドロイドのバックキーを押すとアラートを解除するにはどうすればいいですか?
- 22. アンドロイドで「ヘルプ」や「サポート」などのテキストを設定するにはどうすればいいですか?
- 23. 円内のテキストを増やしながら円を増やすにはどうすればよいですか?
- 24. アンドロイドの日付時間設定を無効にするにはどうすればよいですか?
- 25. リストビュー内の項目をスクロール可能にするにはどうすればいいですか?
- 26. EditTextの値をリストビュー項目に追加するにはどうすればいいですか?
- 27. ドッカーコンテナのメモリを増やすにはどうすればいいですか?
- 28. アンドロイドのリストビューでチェックした項目がありません
- 29. アンドロイドのリストビューでオーバースクロールとバウンスを無効にするにはどうすればよいですか?
- 30. アンドロイドにアクティビティを残した後、リストビューを保持するにはどうすればよいですか?
、ユーザーは一般的に解放し、その後 '1.2.3.4.5'はカウントされません。 – Enzokie