Recyclerview适配器中的TextSwitcher

时间:2016-01-18 13:43:17

标签: android android-recyclerview

TextSwitchers每次你的setText都会切换你的文本,你可以在textSwitcher中插入动画,这样当你像下面的例子一样设置文本时,它会上下滑动。一个用例就像一个应用程序中的类似按钮,用户单击该按钮,textSwitcher向上滑动以显示新的类似计数。

textswitcher

我正在努力在recyclerview中使用textSwitcher,并创建了一个小型回购来展示我的问题:https://github.com/Winghin2517/TextSwitcherRV

我的问题是,如果我滚动,textSwitcher动画会自动激活,我可以看到每行中的textSwitcher像机场中的招牌一样上下闪烁。

我认为这是由于回收本身的意见,因此textSwitcher重置自己,但是想知道在滚动回收者视图时是否有办法阻止这个机场招牌效应?

我认为将textSwitchers放在recyclerview中是一个非常常见的用例。

1 个答案:

答案 0 :(得分:1)

if (mDataset.get(position).isClicked()) {
                ((TextViewHolder) holder).textSwitcher.setText("I was clicked!");
            } else {
                ((TextViewHolder) holder).textSwitcher.setText(mDataset.get(position).getCounter());
        }

我认为这是因为您将文本设置为textSwitcher而不检查文本是否已设置以及视图重用的位置,它开始动画为新值(实际上等于旧值)。

尝试通过setCurrentText设置文本,这不会触发动画。