RecyclerView onBindViewHolder onclicklistener行为

55597

我正在尝试加载列出卡片的回收站视图,每张卡片有四个元素。两个文本视图(posttext,score是id)和两个按钮(minusOne和plusOne)。

下面的代码可在所有卡上正确加载textview的内容和按钮。

我尝试实现以下行为。

单击plusOne按钮的onbuttonclick时,乐谱将被更改并且minusOne按钮被隐藏。

奇怪的是,各个卡上的分数会正确更新。但是,当对一张卡(每n + 5张卡)执行一次操作时,隐藏部分似乎发生在多张卡中。我该如何解决?我要去哪里错了?谢谢你。

PS:建议标题编辑

@Override
    public void onBindViewHolder(
            final MyViewHolder viewHolder, final int position) {


        ParseObject model = items.get(position);
        viewHolder.posttext.setText(model.getString("postText"));
    viewHolder.score.setText(Integer.toString(model.getInt("score")));



        viewHolder.plusOne.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {


                ParseObject model = items.get(position);

                final int score = model.getInt("score");

                model.increment("score", 1);

                model.saveInBackground(new SaveCallback() {
                    @Override
                    public void done(ParseException e) {

                        if(e==null)
                        {
                            viewHolder.score.setText(Integer.toString(score+1));
                            viewHolder.minusOne.setVisibility(View.GONE);

                        }
                        else{
                            e.printStackTrace();
                           }
                    }
                });
            }
        });
优素福·扎赫(Yousef Zakher)

您需要为减号按钮创建布尔数组列表,您可以在模型或适配器中根据需要设置减号按钮,此数组列表将包含按钮的状态,因此默认情况下它为true,除非用户单击,否则它将更改设置为false,更新后只需通过notifyDataSetChanged()通知适配器,它将显示的视图更新为布尔数组。

@Override
public void onBindViewHolder(
        final MyViewHolder viewHolder, final int position) {


    ParseObject model = items.get(position);
    viewHolder.posttext.setText(model.getString("postText"));
    viewHolder.score.setText(Integer.toString(model.getInt("score")));

     if (miusButtonStatus.get(position)) {
        viewHolder.minusOne.setVisibility(TextView.VISIBLE);
     } else {
        viewHolder.minusOne.setVisibility(TextView.GONE);
     }

    viewHolder.plusOne.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {


            ParseObject model = items.get(position);

            final int score = model.getInt("score");

            model.increment("score", 1);

            model.saveInBackground(new SaveCallback() {
                @Override
                public void done(ParseException e) {

                    if(e==null)
                    {
                        viewHolder.score.setText(Integer.toString(score+1));
                        miusButtonStatus.get(position) = false;
                        notifyDataSetChanged();

                    }
                    else{
                        e.printStackTrace();
                       }
                }
            });
        }
    });

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

RecyclerView onbindViewHolder

来自分类Dev

RecyclerView子项单击onBindViewHolder()

来自分类Java

为什么在RecyclerView.Adapter的onBindViewHolder中添加OnClickListener被认为是不好的做法?

来自分类Dev

Nested RecyclerView : onBindViewHolder 被无限调用

来自分类Dev

onBindViewHolder 和 RecyclerView 如何工作?

来自分类Java

在RecyclerView中,在OnBindViewHolder方法中

来自分类Dev

RecyclerView何时使用ItemDecoration与onBindViewHolder

来自分类Dev

RecyclerView onBindviewholder Dialog clicklistner 动画

来自分类Dev

recyclerview.onBindviewholder 始终在位置 0

来自分类Dev

RecyclerView onBindViewHolder 没有绘制我的视图

来自分类Dev

使用RecyclerView在setText上onBindViewHolder崩溃

来自分类Dev

RecyclerView onBindViewHolder一项被多次调用

来自分类Dev

RecyclerView不能在onBindViewHolder()中使用setText()

来自分类Dev

RecyclerView onBindViewHolder位置不符合预期

来自分类Dev

视图在RecyclerView Adapter的onBindViewHolder中返回NullPointerException

来自分类Dev

RecyclerView.Adapter onBindViewHolder()位置错误

来自分类Dev

在 onBindViewHolder 中为 RecyclerView 设置图像

来自分类Dev

RecyclerView onCreateViewHolder 和 onBindViewHolder 未被調用

来自分类Dev

RecyclerView onBindViewHolder仅在getItemViewType更改时调用

来自分类Java

不能与班里onBindViewHolder工具延伸RecyclerView.Adapter

来自分类Dev

RecyclerView.ViewHolder在onBindViewHolder方法之外为空

来自分类Dev

在 RecyclerView 的 OnBindViewHolder 中更改视图的文本颜色或背景颜色

来自分类Dev

为什么 Recyclerview 适配器 onBindViewHolder 被多次调用?

来自分类Dev

RecyclerView-当未调用onBindViewHolder时,findViewHolderForPosition始终返回null

来自分类Java

从Firebase加载数据时出现RecyclerView onBindViewHolder()错误

来自分类Dev

支持库和RecyclerView onBindViewHolder和onCreateViewHolder的Proguard问题

来自分类Java

为什么RecyclerView onBindViewHolder仅调用一次?

来自分类Java

Recyclerview不会调用任何Adapter方法:onCreateViewHolder,onBindViewHolder,

来自分类Dev

为什么我的recyclerView重做onBindViewHolder中的内容?

Related 相关文章

  1. 1

    RecyclerView onbindViewHolder

  2. 2

    RecyclerView子项单击onBindViewHolder()

  3. 3

    为什么在RecyclerView.Adapter的onBindViewHolder中添加OnClickListener被认为是不好的做法?

  4. 4

    Nested RecyclerView : onBindViewHolder 被无限调用

  5. 5

    onBindViewHolder 和 RecyclerView 如何工作?

  6. 6

    在RecyclerView中,在OnBindViewHolder方法中

  7. 7

    RecyclerView何时使用ItemDecoration与onBindViewHolder

  8. 8

    RecyclerView onBindviewholder Dialog clicklistner 动画

  9. 9

    recyclerview.onBindviewholder 始终在位置 0

  10. 10

    RecyclerView onBindViewHolder 没有绘制我的视图

  11. 11

    使用RecyclerView在setText上onBindViewHolder崩溃

  12. 12

    RecyclerView onBindViewHolder一项被多次调用

  13. 13

    RecyclerView不能在onBindViewHolder()中使用setText()

  14. 14

    RecyclerView onBindViewHolder位置不符合预期

  15. 15

    视图在RecyclerView Adapter的onBindViewHolder中返回NullPointerException

  16. 16

    RecyclerView.Adapter onBindViewHolder()位置错误

  17. 17

    在 onBindViewHolder 中为 RecyclerView 设置图像

  18. 18

    RecyclerView onCreateViewHolder 和 onBindViewHolder 未被調用

  19. 19

    RecyclerView onBindViewHolder仅在getItemViewType更改时调用

  20. 20

    不能与班里onBindViewHolder工具延伸RecyclerView.Adapter

  21. 21

    RecyclerView.ViewHolder在onBindViewHolder方法之外为空

  22. 22

    在 RecyclerView 的 OnBindViewHolder 中更改视图的文本颜色或背景颜色

  23. 23

    为什么 Recyclerview 适配器 onBindViewHolder 被多次调用?

  24. 24

    RecyclerView-当未调用onBindViewHolder时,findViewHolderForPosition始终返回null

  25. 25

    从Firebase加载数据时出现RecyclerView onBindViewHolder()错误

  26. 26

    支持库和RecyclerView onBindViewHolder和onCreateViewHolder的Proguard问题

  27. 27

    为什么RecyclerView onBindViewHolder仅调用一次?

  28. 28

    Recyclerview不会调用任何Adapter方法:onCreateViewHolder,onBindViewHolder,

  29. 29

    为什么我的recyclerView重做onBindViewHolder中的内容?

热门标签

归档