亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android在清單上滑動

Android在清單上滑動

精慕HU 2019-10-24 10:37:31
有沒有人有一個簡單的ListActivity示例,該示例在列中顯示Textviews,當您從左向右滑動時,會在新視圖中看到該行?這就是說編輯該行的數據或顯示該行的更多詳細信息。請不要引用代碼幕府將軍或其他網站,因為我已經用Google搜索過,也沒有看到這個答案。
查看完整描述

3 回答

?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

這是一個非常簡化的版本,它使用兩個偵聽器(onTouch用于滑動檢測,onClickIem用于項目單擊檢測)使用isSwipe標志停止onClickItemListener,直到其確認不是滑動


在檢測到點擊

不是第一次刷卡的情況下


        listView.setOnItemClickListener(new OnItemClickListener() {

            @Override

            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3)

            {

                if(!isSwipe)

                {

                    adapter.increase(arg2);

                    adapter.notifyDataSetChanged();

                }

            }

        });

檢測滑動


        listView.setOnTouchListener(new OnTouchListener() {

        private int action_down_x = 0;

            private int action_up_x = 0;

            private int difference = 0;

            @Override

            public boolean onTouch(View v, MotionEvent event) {


                switch (event.getAction()) {

                    case MotionEvent.ACTION_DOWN:

                        action_down_x = (int) event.getX();

                        isSwipe=false;  //until now

                        break;

                    case MotionEvent.ACTION_MOVE:

                        if(!isSwipe)

                        {

                            action_up_x = (int) event.getX();

                            difference = action_down_x - action_up_x;

                            if(Math.abs(difference)>50)

                            {

                                Log.d("action","action down x: "+action_down_x);

                                Log.d("action","action up x: "+action_up_x);

                                Log.d("action","difference: "+difference);

                                //swipe left or right

                                if(difference>0){

                                    //swipe left

                                    Log.d("action","swipe left");

                                    adapter.decrease(selectedItem);

                                    adapter.notifyDataSetChanged();

                                }

                                else{

                                    //swipe right

                                    Log.d("action","swipe right");

                                }

                                isSwipe=true;

                            }

                        }

                        break;

                    case MotionEvent.ACTION_UP:

                        Log.d("action", "ACTION_UP - ");

                        action_down_x = 0;

                        action_up_x = 0;

                        difference = 0;

                        break;

                }

                return false;   //to allow the clicklistener to work after

            }

        })


查看完整回答
反對 回復 2019-10-24
  • 3 回答
  • 0 關注
  • 249 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號