0

我得到了一个任务,我必须获取iid 并显示j该 id 下的所有值。但是我有一个问题:i第一个值j的值正确出现,但在i第二个 idj上出现了相同的值,它在第一个 id 上显示;它没有更新。

代码片段是:

for (int i = 0; i <= assignment.getValue().size(); i++){

        TableRow tr = new TableRow(this);
        tr.setPadding(2, 2, 2, 2);

        TableLayout.LayoutParams tableRowParams=
              new TableLayout.LayoutParams
              (TableLayout.LayoutParams.FILL_PARENT,TableLayout.LayoutParams.FILL_PARENT);

        int leftMargin=0;
        int topMargin=2;
        int rightMargin=0;
        int bottomMargin=1;

        tableRowParams.setMargins(leftMargin, topMargin, rightMargin, bottomMargin);

        tr.setLayoutParams(tableRowParams);

        value[i]= new TextView(this);
        value[i].setText(assignment.getValue().get(i));
        System.out.println(value[i].getText().toString());
        value[i].setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
        tr.addView(value[i]);

   for(int j= 0; j < assignment.getScore().size()/assignment.getValue().size(); j++){
         scr[i]= new TextView(this);
             scr[i].setText(categorylist.getScore().get(j));
             System.out.println(scr[i].getText().toString());
             scr[i].setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
             tr.addView(scr[i]);
   }  t1.addView(tr, tableRowParams);
4

2 回答 2

0

有点不清楚 assignment.getValue() assignment.getScore() 和 categoryList.getScore() 之间存在什么样的关系。如果正确建立了关系,您可能会得到更好的答案。

scr[i].setText(categorylist.getScore().get(j));

无论“i”是什么,您总是将相同的 categorylist.getScore().get(j) 设置为 scr[i] ,

会像

scr[i].setText(categorylist[i].getScore().get(j)) 可能是解决您的问题的方法

于 2012-05-16T09:40:02.873 回答
0
>>> on i 1st value j values are coming properly but on i 2nd id j same values are coming which it is showing on 1st id. its not updating

如果我正确理解您的问题,您希望 j 根据 i 工作。但是如果我看到您的代码,则 i & j 之间没有关系。

for(int j= 0; j < assignment.getScore().size()/assignment.getValue().size(); j++){   
 ...
 ...
}

要使第二个循环正常工作,请依赖 i (根据您的逻辑)。

于 2012-05-15T07:09:13.400 回答