2013-03-06 5 views
-1
public void setFont(String font_type, TextView[] fontArray) 
{ 
    Typeface face = Typeface.createFromAsset(getAssets(), "fonts/" + font_type); 

    for (int i = 0; i < fontArray.length; i++){ 
     fontArray.setTypeface(face); 
    } 
} 

다른 서체에 다른 textviews를 추가하고 싶습니다. foreach 루프를 올바르게 구현하는 방법을 찾지 못했습니다. (당신이 원하는대로)안드로이드 메소드 매개 변수로 배열

fontArray[i].setTypeface(face); 
     ^^^ 
     add this 

... 또는 "각각"사용 :

+0

명확하지 않음을 이름을 바꿀 수 있습니다! 더 자세히 설명해 주시겠습니까? –

+0

나는 그 질문을 잘 모르겠다. 글꼴 배열의 각 요소에 액세스해야합니다. 일부 Java 기본을 닦는 것이 좋습니다. 또한'for (TextView textView : textViews)'는 글꼴 배열이 아니기 때문에'fontArray'라고 부르는 것보다 더 합리적입니다. –

답변

4

당신은 루프의 인덱스를 누락 다른 Java 배열처럼

for (TextView tv : fontArray) 
    tv.setTypeface(face); 
+0

감사합니다. 훌륭한 설명입니다. – coreprojectz

1

, 당신을 또 다른 예를 들어 Java: Array with loop을 참조하십시오 for -loop

for(TextView tv: fontArray) { 
    tv.setTypeface(face); 
} 

를 사용하여 요소를 반복 할 수 있습니다.

참고, 이름 fontArray 조금 오해의 소지가 ... 당신은 ... textViews 이상의 적절한 뭔가

관련 문제