【问题标题】:How i can calculate sum with filter and show result in table我如何用过滤器计算总和并在表格中显示结果
【发布时间】:2017-01-18 12:22:01
【问题描述】:

我用:

Android studio 2.2.2
sdk: min 19 target 25
ksoap2 library for get SoapObject from web-server.

我得到了这个结构的结果:

<Date>2016-11-04T00:00:00</Date>
<Hours>8</Hours>
<EmployeeID>1</EmployeeID>; 
<EmployeeFirstName>My</EmployeeFirstName>
<Date>2016-11-05T00:00:00</Date>
<Hours>6</Hours>
<EmployeeID>1</EmployeeID>; 
<EmployeeFirstName>My</EmployeeFirstName>
<Date>2016-11-06T00:00:00</Date>
<Hours>2</Hours>
<EmployeeID>1</EmployeeID>; 
<EmployeeFirstName>My</EmployeeFirstName>
<Date>2016-11-05T00:00:00</Date>
<Hours>6</Hours>
<EmployeeID>2</EmployeeID>; 
<EmployeeFirstName>My2</EmployeeFirstName>
<Date>2016-11-04T00:00:00</Date>
<Hours>4</Hours>
<EmployeeID>2</EmployeeID>; 
<EmployeeFirstName>My2</EmployeeFirstName>

问题是:

  1. (非技术原因,我无法在 sql 或 webserver 中执行此操作并返回记录集或 xml 并返回结果) 哪个 android-object 更好地使用(collection, array, btree...) 按“EmployeeID”分组并得到 sum(“Hours”)?
  2. 什么 android-object 更好地用于在 Activity 中显示它并且用户可以过滤它?

对于我的例子,我得到这样的表:

EmployeeFirstName    SumHours
My                      16
My2                     10

界面中的用户必须有“按下按钮”和过滤表的可能性:

"EmployeeFirstName" = My2 
or "EmployeeFirstName" = My

【问题讨论】:

    标签: java android listview gridview xml-parsing


    【解决方案1】:
    1. 首先,您可以使用 Android 中的技术从 xml 文件或字符串中解析数据。您可以使用 url https://www.tutorialspoint.com/android/android_xml_parsers.htm 访问教程
    2. 然后你可以在java集合中使用HashMap或其他方法来计算不同员工的总小时数。
    3. 对于显示内容,您可以使用 ListView 和 BaseAdater。您可以使用 LinearLayout 或其他添加一行来显示标题。

    【讨论】:

      【解决方案2】:

      尝试使用带有自定义适配器的自定义列表视图。然后设置一个模型(Getter/Setter)。然后,您可以获取特定实体的数据,例如:

      for(int i=0;i<count;i++){
      
      listview.get(position).get(EmployeId).equals("1"){
      int Hours = Hours + listview.get(position).get(Hours);
      }
      }
      

      这样,您可以汇总所有字段并将其放在编辑文本中,以满足您允许用户编辑的其他要求。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-02-01
        • 2021-01-13
        • 2019-08-30
        • 1970-01-01
        • 1970-01-01
        • 2019-07-31
        • 1970-01-01
        • 2019-01-01
        相关资源
        最近更新 更多