отправить несколько пакетов одновременно - PullRequest
0 голосов
/ 14 октября 2011

я пытаюсь отправить два пакета одновременно от одного действия к другому, и мне не повезло .. я могу отправить пакет нормально, но когда я пытаюсь два отправить два, я получаю нулевой указатель.вот мой код:

Activity A,
         @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
    //  TextView name = (TextView) v.findViewById(R.id.label2);
        TextView number1 = (TextView) v.findViewById(R.id.label);
        Intent i = new Intent(this, options_Page.class);
    //  Bundle bundle2 = new Bundle();
        Bundle bundle1 = new Bundle();
        bundle1.putString("title", number1.getText().toString());
    //  bundle2.putString("title2", name.getText().toString());
        i.putExtras(bundle1);
    //  i.putExtras(bundle2);
        startActivity(i);

Activity B,
                    Bundle bundle1 = this.getIntent().getExtras();
    //  Bundle bundle2 = this.getIntent().getExtras();
        String title = bundle1.getString("title");
    //  String title2 = bundle2.getString("title2");
        ((TextView) findViewById(R.id.tvnumber)).setText(title);
    //  ((TextView) findViewById(R.id.tvname)).setText(title2);

используя этот код, как он есть, он отправляет один пакет (номер) без проблем, если кто-нибудь знает, как я могу отправить другой (имя), это действительно помогло бы мне.Заранее спасибо ...

Ответы [ 2 ]

4 голосов
/ 14 октября 2011

Вы можете send more then one bundle, но для текущей ситуации вам это не нужно, просто используйте одну,

Попробуйте это, нет необходимости в 2 пучка,

В деятельности A,

    Intent i = new Intent(this, options_Page.class);
    i.putExtras("title", number1.getText().toString());
    i.putExtras("number", number2.getText().toString()); 
    startActivity(i);

В деятельности B,

    String value1 = getIntent().getExtras("title");
    String value2 = getIntent().getExtras("number");

или

Bundle extras = getIntent().getExtras();
    if (extras == null) {
        return;
    }
    String value1 = extras.getString("title");
    String value2 = extras.getString("number");

Спасибо.

2 голосов
/ 14 октября 2011

Сначала вам не нужно передавать два пакета, но для вашего вопроса я проверил его на своем конце, и вы can pass 2 or more than 2 bundle.

вам нужно извлечь значение пакета следующим образом:

Bundle bundle1 = getIntent().getBundleExtra("bun1");
boolean value1 = bundle1.getBoolean("value1");
Bundle bundle2 = getIntent().getBundleExtra("bun2");
boolean value2 = bundle2.getBoolean("value2");
...