android – ListFragment中的手势检测

android – ListFragment中的手势检测,第1张

概述我有一个ListFragment,我用ContentProvider填充. 我需要为每个人添加一个手势监听器,以便当用户向右滑动时,该项目将从列表中删除. 以下是我目前在ListFragment中的所有内容. @Overridepublic void onListItemClick(ListView l, View v, int position, long id) { String sel 我有一个ListFragment,我用ContentProvIDer填充.

我需要为每个人添加一个手势监听器,以便当用户向右滑动时,该项目将从列表中删除.

以下是我目前在ListFragment中的所有内容.

@OverrIDepublic voID onListItemClick(ListVIEw l,VIEw v,int position,long ID) { String selection = l.getItemAtposition(position).toString(); Toast.makeText(v.getContext(),selection + "",Toast.LENGTH_LONG).show(); Log.d("TodoListFragment",selection+ "");}

我如何附加手势检测和聆听?

我做了一些研究,发现了这段代码:

class MyGestureDetector extends SimpleOnGestureListener {    @OverrIDe    public boolean onFling(MotionEvent e1,MotionEvent e2,float veLocityX,float veLocityY) {        try {            if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)                return false;            // right to left swipe            if(e1.getX() - e2.getX() > SWIPE_MIN_disTANCE && Math.abs(veLocityX) > SWIPE_THRESHolD_VELociTY) {               Log.d("Swipe","left");            }  else if (e2.getX() - e1.getX() > SWIPE_MIN_disTANCE && Math.abs(veLocityX) > SWIPE_THRESHolD_VELociTY) {                Log.d("Swipe","Right");            }        } catch (Exception e) {            // nothing        }        return false;    }}

谁能告诉我如何实现它? (不是删除部分,而只是实现)

解决方法 使用以下答案,我在整个修复问题中遇到了一些问题.

它完美地运作.

class SIDeIndexGestureListener extends GestureDetector.SimpleOnGestureListener {        @OverrIDe        public boolean onScroll(MotionEvent e1,float distanceX,float distanceY) {            Log.d("Scrolled- fragment ","Scrolling");            return super.onScroll(e1,e2,distanceX,distanceY);        }    }    @OverrIDe    public voID onActivityCreated(Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        final GestureDetector gestureDetector = new GestureDetector(getActivity(),new SIDeIndexGestureListener());        VIEw.OntouchListener gestureListener = new VIEw.OntouchListener() {            public boolean ontouch(VIEw v,MotionEvent event) {                return gestureDetector.ontouchEvent(event);            }        };        getListVIEw().setontouchListener(gestureListener);        try {           adapter = new ArrayAdapter<String>(getActivity(),androID.R.layout.simple_List_item_single_choice,elementos);            setlistadapter(adapter);            getListVIEw().setChoiceMode(ListVIEw.CHOICE_MODE_SINGLE);        }catch (Exception e){        }
总结

以上是内存溢出为你收集整理的android – ListFragment中的手势检测全部内容,希望文章能够帮你解决android – ListFragment中的手势检测所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1127215.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存