2013-11-22 2 views
0

문제가 있습니다. 존재하지 않습니다 (Eclipse에서는 오류 표시 없음). 2 차원 문자열을 선언 한 다음 동적으로 데이터를 채 웁니다. 메인 클래스에서
:
public String[][] lista;
그리고에서 onCreate에서 : 시작시
lista[0][0] = "55";
lista[0][1] = "jacek";
lista[0][2] = "miecz";
lista[0][3] = "12";
anf 채우기 String [] [] 배열

불행하게도 응용 프로그램 충돌 난 단지 첫 번째 선언을 떠날 때까지. 오류가 없습니다.

+0

자바 배열 (101)에 액세스 할 수 있습니다 업데이트합니다. – njzk2

답변

5

당신은 당신의 배열을 초기화하고 당신은 그것의 크기를 지정하지 않고 배열을 사용할 수 없습니다 onCreate

lista = new String[10][10]; 
lista[0][0] = "55"; 
lista[0][1] = "jacek"; 
lista[0][2] = "miecz"; 
lista[0][3] = "12"; 

각 차원의 크기를 설정해야합니다. 그러나 ArrayList<String[]>을 사용하면 고정 크기의 1 차원 배열의 알 수없는 행을 저장할 수 있습니다.

변경 public String[][] lista;ArrayList<String[]> lista과 당신의 onCreate

lista = new ArrayList<String[]>(); 
lista.add(new String[]{"55","jacek","miez","12"});//your example array of 4 elements 
lista.add(new String[4]);//empty array for 4 elements 

당신은 안드로이드와 관련이없는 lista.get(row)[column]

+0

고정되지 않을 수 있습니다. 나는 한 차원 (4 열)과 정의되지 않은 행 수만 알고 있습니다. – Lukis

+1

배열의 수가 아니라 가변적 인 데이터 구조 (예 :'ArrayList')를 사용하여 더 나은 행 수를 모를 경우. –

+0

안드로이드에서 동적 배열을 사용할 수 없습니까? – Lukis