带有模型类的数组列表在同一索引处存储多个值

时间:2016-11-09 09:55:06

标签: android android-studio arraylist saxparser

我正在使用sax xml parsing并使用模型类将数据存储到array list

基于此我动态生成buttons

以下是xml数据。

        <SalesLocation>

            <SalesLocationGroup>0</SalesLocationGroup>

        </SalesLocation>
        <SalesLocation>

            <SalesLocationGroup>0</SalesLocationGroup>

        </SalesLocation>
        <SalesLocation>

            <SalesLocationGroup>1</SalesLocationGroup>

        </SalesLocation>
        <SalesLocation>

            <SalesLocationGroup>2</SalesLocationGroup>


        </SalesLocation>
        <SalesLocation>

            <SalesLocationGroup>3</SalesLocationGroup>

        </SalesLocation>
        <SalesLocation>

            <SalesLocationGroup>4</SalesLocationGroup>

        </SalesLocation>

现在在Sales Location Group Value的基础上使用上面的xml我正在向Linear Layout添加按钮。

private ArrayList<ModelSalesLocation> arrayListSalesLocation;

final Button tableButton = new Button(this);
    tableButton.setId(iTable);
    tableButton.setText(arrayListSalesLocation.get(iTable).getSalesLocationName());


final LinearLayout.LayoutParams linearParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);

    if (arrayListSalesLocation.get(iTable).getSalesLocationGroup().equals("0")) {
        int wd = ((Integer.parseInt(arrayListSalesLocation.get(iTable).getTableWidth()) * deviceWidth) / 1080);
        Log.w("Final Width", "" + wd);
        linearParams.width = wd;

        int ht = ((Integer.parseInt(arrayListSalesLocation.get(iTable).getTableHeight()) * deviceHeight) / 1776);
        Log.w("Final Height", "" + ht);
        linearParams.height = ht;

        int top = ((Integer.parseInt(arrayListSalesLocation.get(iTable).getTopLocation()) * deviceHeight) / 1776);
        Log.w("Final Top", "" + top);
        linearParams.topMargin = top;

        int left = ((Integer.parseInt(arrayListSalesLocation.get(iTable).getLeftLocation()) * deviceWidth) / 1080);
        Log.w("Final Left", "" + left);
        linearParams.leftMargin = left;

        linearTableMain.addView(tableButton, linearParams);
}

现在,如果Sales Location Group多次包含0等等,那么我需要将其添加到同一索引的数组列表中。

目前我在不同的索引上获得两个值。

如何在同一索引处添加多个值并基于此显示按钮。

如果您在这方面需要更多信息,请与我们联系。

提前致谢。

1 个答案:

答案 0 :(得分:0)

有一个像HashMap<integer,List<String>>一样的哈希映射 例如 sampleList.add(index1data);sampleList.add(index2data);

sampleMap.put(0,sampleList)