2011-08-19 13 views
0

2つのArrayListアイテムをメインアクティビティから使用した別のアクティビティに渡したいとします。それぞれのArrayListの最後の項目のみを渡します。どのように私は1つの意図とバンドルで2つのArrayListアイテムを渡すことができますか?バンドルを使用して1つのアクティビティから別のアクティビティに2つの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

あなたは簡単に通過することができます.2つのキーは異なっている必要があります。これらのキーを使用してこれらの値を取得できます。

+0

ありがとうございます。私の愚かな、私はこれらを初期化する必要はないと思った。 – Fanakartal

+1

ああやってみよう。愚かな人に電話しないで。私の答えを受け入れるのはちょっと親切ですか? –

0

あなたがキーTEXT_CODEとTEXT_REQUESTを満たしていませんでした。これらの変数を異なる値に設定して、正しい方法で使用してください。

+0

ありがとうございました。私はこれらのアイテムを初期化しなければならないとは思わなかった。 – Fanakartal

関連する問題