【问题标题】:how can refresh list when click button in item listview单击项目列表视图中的按钮时如何刷新列表
【发布时间】:2017-06-03 16:10:57
【问题描述】:

我在列表的所有项目上都有 recyclerview 和按钮。当我单击已删除适配器项目中的按钮时,我想刷新回收器并显示新数据。

@Override
  public void onBindViewHolder(final LietnerViewHolder holder, final int position) {
    lietner = lietners.get(position);
    holder.txt_en.setText(lietner.getText_en());
    holder.txt_pe.setText(lietner.getText_pe());
    holder.time.setText(lietner.getTime());
    holder.data.setText(HelperCalendar.g2j(lietner.getTime_create()));
    holder.next_level.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View view) {
      G.databaseOpenHelper.goToNextLevel(lietners.get(position).getId());

      }
    });
  }

【问题讨论】:

  • 调用notifyDataSetChanged()

标签: android listview refresh


【解决方案1】:

用于重新初始化回收器视图并在 onBindViewHolder

上获取回调

简单调用notifyDataSetChanged();

       @Override
    public void onBindViewHolder(final LietnerViewHolder holder, final int position) {
        lietner = lietners.get(position);

        holder.next_level.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // delete the item, or change the data.
                notifyDataSetChanged();
            }
        });
    }

【讨论】:

    【解决方案2】:

    我这样做,它对我有用!

    @Override
      public void onBindViewHolder(final LietnerViewHolder holder, final int position) {
        lietner = lietners.get(position);
        holder.txt_en.setText(lietner.getText_en());
        holder.txt_pe.setText(lietner.getText_pe());
        holder.time.setText(lietner.getTime());
        holder.data.setText(HelperCalendar.g2j(lietner.getTime_create()));
        holder.next_level.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View view) {
            G.databaseOpenHelper.goToNextLevel(lietners.get(position).getId());
            lietners.remove(position);
            notifyDataSetChanged();
          }
        });
      }
    

    【讨论】:

    • 我看到你喜欢回答自己的问题,而不是把功劳归于其他答案。这家伙给了你和这个完全相同的答案。
    猜你喜欢
    • 2022-06-11
    • 1970-01-01
    • 2017-01-16
    • 2021-11-04
    • 1970-01-01
    • 2020-07-26
    • 2013-01-13
    • 2021-12-15
    • 1970-01-01
    相关资源
    最近更新 更多