#java #android #массивы #android_intent
Есть одномерный массив String [] mas=getResources().getStringArray(R.array.mas); Его нужно при клике по button_3 передать в другое активити: public void onClick(View v) { Intent intent3 = new Intent(this,Test_3.class); switch (v.getId()){ case R.id.button_3: intent3.putExtra("mas",mas); startActivity(intent3); break; В другом активити переданный массив получается так: Bundle extras = getIntent().getExtras(); String[] mas3 = extras.getStringArray("mas"); Затем первый элемент массива отображается в текстовом поле: int counter = 0; textView.setText(mas3[counter]); В итоге после клика по кнопке переход на другое активити не осуществляется, выдает ошибку, ссылаясь на последнюю строку textView.setText(mas3[counter]); Подскажите, в чем ошибка?
Ответы
Ответ 1
Скорее всего вы ищите свой массив не там. Попробуйте его искать прямо в интенте, а не в его Bundle String[] mas3 = getIntent().getStringArray("mas"); Либо тогда уж помещать сначала массив в Bundle, Bundle в Intent и вытаскивать так, как вы сейчас вытаскиваете: Bundle bundle = new Bundle(); bundle.putStringArray("mas",mas); intent3.putExtras(bundle); startActivity(intent3); А ошибка возникает, видимо, из-за того, что при ненахождении значения в Bundle по умолчанию подставляется null
Комментариев нет:
Отправить комментарий