2013-04-13 3 views
0

2 개의 레이아웃으로 안드로이드 애플리케이션을 만들고 있습니다. 한 레이아웃에서 사용자가 입력 한 데이터는이 데이터를 유지하고 다른 레이아웃에서 사용하고 싶습니다.2 차원 어레이를 다른 레이아웃으로 전송하는 중 문제가 발생했습니다.

2 차원 배열을 사용해 보았지만 배열 값이 두 번째 레이아웃으로 전송되지 않는 것 같습니다.

첫 레이아웃에

grid = new double[2][long]; 
for(int i=0; i<long; i++) 
{ 
    grid[0][i]=Data[i]; 
    grid[1][i]=Value2; 
} 

public double[][] sendGrid() 
{ 
    return grid; 
} 

나는이 두 번째 레이아웃의 2D 그리드 어레이를 호출 할 ...

try{ 
    Layout1 mapInstance = new Layout1y(); 
    double[][] dataX = mapInstance.sendGrid(); 
    Log.i("dataXLength",""+dataX.length); 
} 
catch(Exception e) 
{ 
    Log.i("-OK",e.toString()); 
} 

결과는 다음과 같습니다 04-13 10시 31분 : 45.357 : I/OK (28588) : java.lang.NullPointerException

어떻게 두 번째 배열을 두 번째 레이아웃으로 보낼 수 있습니까?

고맙습니다.

+0

사용 공유 환경 설정 등의 다음 활동 액세스 또는 의도을 통해 그리드 값을 전달

static double grid = new double[2][long]; 

. –

+0

컴파일 가능한 Java 코드를 게시하십시오. – m0skit0

+0

나는 의도를 테스트하고 알려 드리겠습니다. 감사합니다. –

답변

1

가 그 작업을 수행하는 방법 중 몇 가지가 있습니다하지만 난 당신이 할 경우 경우의 최적 생각 2 차원 배열 정적입니다. 이제이

double[][] dataX =Activity1.grid[][]; 
+0

이 옵션은 매우 간단합니다. 고마워요, 지금 일하고 있어요! –

+1

@GerardoAbdo 활동간에 데이터를 전달하려면 인 텐트를 사용해야합니다. 정적 변수 사용은 권장되지 않습니다. http://www.youtube.com/watch?v=_CruQY55HOk. 비디오의 녀석은 정적 변수를 사용하여 큰 경고를줍니다. http://developer.android.com/training/articles/perf-tips.html#PreferStatic – Raghunandan

관련 문제