TextView[] outputText = new TextView[myTrans.getArrayCount()];
for(int i=0; i<myTrans.getArrayCount(); i++) {
outputText[i].setWidth(LayoutParams.WRAP_CONTENT);
outputText[i].setHeight(LayoutParams.WRAP_CONTENT);
outputText[i].setTextSize(6, 3);
outputText[i].setTextColor(Color.rgb(0, 0, 0));
outputText[i].setBackgroundColor(Color.argb(0, 255, 255, 255));
outputText[i].setPadding(3, 3, 3, 3);
outputText[i].setText(myTrans.getWord(i));
outputLayout.addView(outputText[i]);
}
일단 위 코드는 문제되는 부분입니다.
참조자체에서 에러가 나는거 같은데, 무엇이 문제인가요?
View들은 배열로 사용이 불가한가요?
제가 만드는 앱이 그때그때 상황에 맞춰 TextView를 생성해야 하는데, (생성해서 레이아웃에 붙임)
처음엔 xml에서 30개 복붙해서 비져블 설정해서 사용 했었는데 (이때는 잘됬습니다)
너무 소스가 더럽고 -_- 불필요한 자원 낭비 같아서
그때그때 필요한 만큼 생성해서 붙이려 위처럼 바꿨습니다.
근데 런타임 에러가 나네요. 무엇이 문제인지 알려주세요. ㅠㅠ
for(int i=0; i<myTrans.getArrayCount(); i++) {
outputText[i] = new TextView(Context con); <- 이게 빠졌네요. 뷰 생성을 안했으니 null point 나겠죠.
outputText[i].setWidth(LayoutParams.WRAP_CONTENT);
outputText[i].setHeight(LayoutParams.WRAP_CONTENT);
outputText[i].setTextSize(6, 3);
outputText[i].setTextColor(Color.rgb(0, 0, 0));
outputText[i].setBackgroundColor(Color.argb(0, 255, 255, 255));
outputText[i].setPadding(3, 3, 3, 3);
outputText[i].setText(myTrans.getWord(i));
outputLayout.addView(outputText[i]);
}
저기 제가 프로그래밍 초보라서 그런데
클래스이름[] 변수명 = new 클래스이름[숫자]; 이런식으로 클래스 배열 만들면
생성자에서 자동으로 만들어주지 않나요?
view는 왜 자동 생성 되지 않는거죠?
예를들어 String[] strArray = new String[20]; 해서 바로 strArray[0]에 접근해도 문제 없잖아요.




디버깅 찍어서 어느시점에 에러가나는지요... 아니면 로그라도 첨부해주시면 도움이 되듯 싶네요..
view 자체는 배열로 사용가능합니다.