【问题标题】:Cant update item in custom adapter无法更新自定义适配器中的项目
【发布时间】:2017-06-27 13:00:42
【问题描述】:

我正在尝试为列表视图中的每个项目添加触摸监听器。 这是我的 CustomAdapter 中用于 currentView 的代码(我认为)

rowView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent event) {
                switch (event.getAction()) {
                    case MotionEvent.ACTION_DOWN:
                        x1 = event.getX();
                       return true;
                    case MotionEvent.ACTION_UP:
                        x2 = event.getX();
                        float deltaX = x2 - x1;
                        if (Math.abs(deltaX) > MIN_DISTANCE) {
                            if (x2 > x1) {
                                LEFT = false;
                                Logger.e("FALSE ");
                                txtTitle.setText("LEFT TO RIGHT");
                                moveLefttoRight = new TranslateAnimation(0, -150, 0, 0);
                                moveLefttoRight.setDuration(1500);
                                moveLefttoRight.setFillAfter(true);
                                swipeLayout.setAnimation(moveLefttoRight);
                                HomeChatAdapter.super.notifyDataSetChanged();
                            }
                            else {
                                LEFT = true;
                                Logger.e("TRUE");
                                txtTitle.setText("RIGHT TO LEFT");
                                moveLefttoRight = new TranslateAnimation(0, -150, 0, 0);
                                moveLefttoRight.setDuration(1500);
                                moveLefttoRight.setFillAfter(true);
                                swipeLayout.setAnimation(moveLefttoRight);

                            }

                        } else {
                            CLICKITEM = true;
                            return false;
                        }
                        break;
                }
                return false;
            }
        });

动画和 view.setText("blabla") 的问题 当我“从左到右或从右到左”完成滑动时 屏幕上没有变化 如果我搬出去 txtTitle.setText("从左到右");

                        moveLefttoRight = new TranslateAnimation(0, -150, 0, 0);
                        moveLefttoRight.setDuration(1500);
                        moveLefttoRight.setFillAfter(true);
                        swipeLayout.setAnimation(moveLefttoRight);

来自 TouchListener 的这部分代码 - 一切正常,但它在创建时工作一次。 任何人都可以帮助我在这种情况下如何解决? 只想将列表视图中的项目向左或向右移动。敬佩彼得。

【问题讨论】:

    标签: java android listview adapter custom-adapter


    【解决方案1】:

    如果我正确理解你的问题,你想使用

    swipeLayout.startAnimation(...);
    

    改为。

    根据setAnimation vs startAnimation in android

    设置动画

    为此视图设置下一个要播放的动画。但是视图动画可以 还没开始。

    开始动画

    如果您希望动画立即播放,请使用 startAnimation。 此方法允许对开始时间进行细粒度控制 和失效,但你必须确保

    1) 动画设置了开始时间,

    2) 当动画应该出现时,视图将失效 开始。

    【讨论】:

      猜你喜欢
      • 2019-03-03
      • 2013-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-05
      • 1970-01-01
      相关资源
      最近更新 更多