나는 i
ID를 가져와이 ID로 모든 j
값을 표시해야하는 할당을 받았습니다. 하지만 문제가 있습니다 : on i
첫 번째 값 j
값이 제대로 올 수 있지만 i
두 번째 id j
첫 번째 ID에 표시되는 값이 올 것입니다. 그것은 업데이 트되지 않습니다.Java에서 루프 오류가 발생했습니다
코드 조각은 다음과 같습니다
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);
의사 코드가 아닌 * 실제 * 코드를 게시하십시오. –
문제를 식별하기에 충분하지 않습니다. –
'j' 루프가'i '에 작동하지 않거나 외부 루프에서 파생 된 것 ... 따라서'i '에 관계없이 동일한 출력이됩니다. 사실, 중첩 된'j' 루프를 "stand alone"으로 옮기면 똑같은 것을 얻을 수 있습니다. –