2011-08-19 2 views
0

주 활동에서 두 개의 ArrayList 항목을 내가 사용한 다른 활동으로 전달하려고합니다. 매번 ArrayList의 마지막 항목 만 전달합니다. 하나의 의도와 번들로 두 개의 ArrayList 항목을 전달할 수 있습니까?번들을 사용하여 한 Activity에서 다른 ActivityList로 두 ArrayList를 전달하는 방법

-ResponseActivity.java-

//buttonStatusListener() 

private OnClickListener buttonStatusListener = new OnClickListener() 
{ 
    public void onClick(View v) 
    { 
     Intent i1 = new Intent(ResponseActivity.this, StatusActivity.class); 

     ArrayList<String> code = new ArrayList<String>(); 
     code = parseddata.getCode(); 
     ArrayList<String> request = new ArrayList<String>(); 
     request = parseddata.getRequest(); 

     Bundle b = new Bundle(); 
     b.putStringArrayList(StatusActivity.TEXT_REQUEST, request); 
     b.putStringArrayList(StatusActivity.TEXT_CODE, code); 



     i1.putExtras(b); 

     startActivity(i1); 
    } 
}; 

-Status 활동 -는

public class StatusActivity extends Activity{ 


ParsedDataList parseddata = null; 

public static String TEXT_CODE; 
public static String TEXT_REQUEST; 

/** Called when the activity is first created. */ 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 

    parseddata = MyXMLHandler.getExampledata(); 

    TextView textCode[] = new TextView[parseddata.getCode().size()]; 
    TextView textRequest[] = new TextView[parseddata.getRequest().size()]; 

    Bundle extras = getIntent().getExtras(); 
    ArrayList<String> code = new ArrayList<String>(); 
    code = extras.getStringArrayList(TEXT_CODE); 
    ArrayList<String> request = new ArrayList<String>(); 
    request = extras.getStringArrayList(TEXT_REQUEST); 

    LinearLayout lLayout = new LinearLayout(this); 
    lLayout.setOrientation(1); 


    for(int i = 0; i < parseddata.getRequest().size(); i++) 
    { 
     textCode[i] = new TextView(this); 
     textCode[i].setText("Code: " + code.get(i)); 

     textRequest[i] = new TextView(this); 
     textRequest[i].setText("Request: " + request.get(i)); 

     lLayout.addView(textCode[i]); 
     lLayout.addView(textRequest[i]); 
    } 

     setContentView(lLayout); 
} 

ParsedDataList 내가 내 데이터를 보유 내 데이터 클래스입니다. 유형도 ArrayList<String>입니다. 끝에

내 결과는 다음과 같습니다

Code: 200 
Request: 200 

답변

1

쉽게 전달할 수 있습니다. 두 키가 달라야합니다. 키를 사용하여 값을 얻을 수 있습니다.

+0

감사합니다. 멍청한데, 나는 이것을 초기화해야한다고 생각하지 않았다. – Fanakartal

+1

아, 일어난다. 바보라고 부르지 마. 내 대답을 받아들이는 것이 조금 친절한가? –

0

당신은 키 TEXT_CODE 및 TEXT_REQUEST를 기입하지 않았다. 이러한 변수를 다른 값으로 설정하여 올바른 방법으로 사용하십시오.

+0

감사합니다. 나는이 아이템들을 초기화해야한다고 생각하지 않았다. – Fanakartal

관련 문제