0

가능한 중복 : 새로운 활동에 2 차원 문자열 배열을 전달


how to get two dimensional string Array from one Activity to other

나는 방법이 배열을 전달하기 위해이

String[][] ContactList = new String[][] 
     { 
     { "a", 123 }, 
     { "b", 123 }, 
     { "c", 123 }, 
     { "d", 123 } }; 

같은 2 차원 문자열 배열 뭔가를 다른 활동 ???

그런 다음 해당 활동에서 어떻게이 배열을 검색 할 수 있습니까 ???

bundleInstance.putSerializable("ContactList ", ContactList); 

그것을 가져 오지하려면 :

+0

보다 2 차원 문자열 배열과 같은보다지도처럼 보이는 점점 얻을 사용하기위한 넣어 사용 – njzk2

답변

1

Intent i = new Intent(this,name.class); 
Bundle b = new Bundle(); 
b.putIntegerArrayListExtra(String name, ArrayList<Integer> value); 
//b.putParcelableArrayListExtra(String name, ArrayList<? extends Parcelable> value); 
//b.putStringArrayListExtra(String name, ArrayList<String> value); 
i.putExtra(String name,b); 
startActivity(i); 

코드입니다 그리고 난 보통

//pseudo code 
Bundle b = getIntent().getExtra().putParcelableArrayListExtra(String name); 
1

당신은 Bundle 사용할 수 있습니다

String[][] ContactList = (String[][]) bundleInstance.getSerializable("ContactList "); 
0
Intent intent = new Intent(/* ... */); 

int i = 0; 
for (String[] arr : contactList) { 
    intent.putExtra("StringArray#" + i, arr); 
    ++i; 
} 
intent.putExtra("StringArrayCount", i); 

을 다른 활동에서는 수와 각 "은 StringArray 번호"를 읽어 시작할 것 속성은 getStringArrayExtra입니다.

당신은 parceable 배열 목록에 넣어 번들 Labeeb의 제공하고 여기에 의도로 설정 한 번들을 만들 수 있습니다
1

같은 다른 활동에 데이터를 얻을 수 "a : 123; b : 123; c : 123; d : 123"과 같은 간단한 문자열 객체로 직렬화하고 다른 활동에서 직렬화를 해제하십시오. 보유하고있는 행의 수에 따라 다르지만 길을 빠르고 쉽게 통과 할 수 있습니다.

0

이 경우 왜 Hashmap과 ArrayList를 사용하지 않을까요 ?? 다음

ArrayList<HashMap<String,String>> 

하고이 데이터를 추가하고

관련 문제