2017-02-25 2 views
0

내 자신의 권한 ID가 있어도 내 안드로이드 앱에 어떤 값도 표시되지 않습니다. 왜 작동하지 않습니까? 감사합니다setTextView가 설정되지 않음

public class MainActivity extends AppCompatActivity { 
int[] marks = {1, 2, 4, 5}; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    for (int i = marks.length; i == 0; i--) { 
     int total = 0; 
     total = total + marks[i]; 
     float markAvereage = (float) total/marks.length; 
     setMarkText(i, markAvereage); 
    } 
} 
private void setMarkText(int i, float markAvereage) { 
    String textViewID = "mark" + i; 
    int resID = getResources().getIdentifier(textViewID, "id", getPackageName()); 
    TextView markTv = ((TextView) findViewById(resID)); 
    markTv.setText("Ø "+ (int) markAvereage); 
} 
} 

답변

0
public class MainActivity extends AppCompatActivity { 
    int[] marks = {1, 2, 4, 5}; 
    LinearLayout mLinearLayout; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    mLinearLayout = new LinearLayout(this); 
    setContentView(mLinearLayout); 
    mLinearLayout.setOrientation(LinearLayout.VERTICAL); 

    for (int i = 0; i <= marks.length; i++) { 
     float markAverage = (float) i/marks.length; 
     setMarkText(markAverage); 

    } 
} 

    private void setMarkText(float markAverage) { 
     TextView markTv = new TextView(this); 
     markTv.setText(String.valueOf(markAverage)); 
     mLinearLayout.addView(markTv); 
    } 
} 
+0

그러나 심지어 당신이 방법 setMarkText에 3 개 개의 매개 변수를 넣어 가지고 당신은 단지 2 –

+0

편집, 위의 코드가보십시오 넣어 때문에 작동하지 않습니다 붙여이 코드. –

+0

resID가 루프 외부에서 선언되어 있으므로 for 루프 내부에 도달 할 수 없습니다. –