【问题标题】:Calculate sum of recyclerview item double values计算recyclerview item double 值的总和
【发布时间】:2018-06-02 05:37:19
【问题描述】:

如何对 Recyclerview 每一行的 textview 值求和并在小计中设置? 下面是截图。

如何在 arraylist 中获取 recyclerview 适配器的所有 textview 值?

【问题讨论】:

  • 你为什么不使用模型类来存储所有显示在它上面的值,然后使用for循环来获取所有值并创建其中的一些,然后将其显示到总计
  • 我已经使用模型类来获取数据。在我的情况下,我将附加组件和产品价格所需的总和,然后使用 textview 进行设置。现在你能告诉我如何在模型类中设置带有插件和要求的特定产品的新总数并获得新价格吗?
  • 贴出所需的代码sn-ps。
  • 您不应该在模型类中添加总计。您需要在这里创建两个模型类。一个用于产品,一个用于附加组件。然后遍历所有产品和附加组件以显示小计
  • 你是如何在 recyclerview 中填充文本视图的?您一定在列表或数组中的某处拥有该数据吧?

标签: android shopping-cart android-recyclerview


【解决方案1】:

首先,拥有带有数据的文本意味着您已经拥有这些值,您所需要的只是访问它的路径。有两种获取值的方法:


  1. 使用您已有的数据

这是最简单的方法。假设您有一个已显示在屏幕上的项目列表,您可以通过循环获取所有项目。

int total = 0;
for(int i = 0; i < items.size; i++){
    total = total + items.get(i).price()
}

  1. 访问recyclerview

这还需要您执行循环访问ViewHolderrecyclerview

int total = 0;
for(int i = 0; i < adapter.getItemCount(); i++){
    TextView text = ((TextView) recyclerView.findViewHolderForAdapterPosition(i)
            .itemView.findViewById(R.id.memeView));
    total = total + Integer.parseInt(text.getText().toString());
}

【讨论】:

  • 第二个数字方法=使用该代码时,我的应用程序崩溃了
【解决方案2】:
float sum = 0;
Model mymodel;
ArrayList<Model> objects;

public Constructor(Context context, int resource, ArrayList<Model> objects) {
  this.context = context;
  this.resource = resource;
  this.objects = objects;
}

@Override
public void onBindViewHolder(Holder holder, int position) {
  mymodel = objects.get(position);

  sum = sum + list.getItem(i).getPrice();
  holder.subTotal.setText(sum);
}

【讨论】:

  • @Raj .我的问题是一样的,但总和不断增加。link
【解决方案3】:

我认为您的小计应该由您的数据模块计算,而 RecyclerView 仅显示您的数据或更改您的模块数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 2019-02-06
    • 2018-03-13
    相关资源
    最近更新 更多