Как мы можем передать два ArrayList из одного Activity в другое с помощью пакетов - PullRequest
0 голосов
/ 19 августа 2011

Я хочу передать два элемента ArrayList из моей основной деятельности в другую, которую я использовал. но каждый раз он передает только последний элемент каждому из ArrayList. как я могу передать два элемента 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);
    }
};

-Статус-активность-

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

Ответы [ 2 ]

1 голос
/ 19 августа 2011

Вы можете легко передать. Просто эти две клавиши должны быть разными. Вы можете получить эти значения, используя эти клавиши.

0 голосов
/ 19 августа 2011

Вы не заполнили ключи TEXT_CODE и TEXT_REQUEST. Установите эти переменные с разными значениями, чтобы использовать их правильно.

...