Отправка массивов с намерением.putExtra
у меня есть массив целых чисел в действии A:
int array[] = {1,2,3};
и я хочу отправить эту переменную в действие B, поэтому я создаю новое намерение и использую метод putExtra:
Intent i = new Intent(A.this, B.class);
i.putExtra("numbers", array);
startActivity(i);
в упражнении B я получаю информацию:
Bundle extras = getIntent().getExtras();
int arrayB = extras.getInt("numbers");
но это на самом деле не отправка массива, я просто получаю значение '0' на arrayB. Я искал некоторые примеры, но я ничего не нашел.
3 ответов:
вы устанавливаете Экстра с массивом. Затем вы пытаетесь получить один int.
ваш код должен быть:
int[] arrayB = extras.getIntArray("numbers");
этот код отправляет массив целочисленных значений
список инициализации массива
List<Integer> test = new ArrayList<Integer>();добавить значения в список выбора
test.add(1); test.add(2); test.add(3); Intent intent=new Intent(this, targetActivty.class);отправить значения списка массива в целевую активность
intent.putIntegerArrayListExtra("test", (ArrayList<Integer>) test); startActivity(intent);здесь вы получаете значения на targetActivty
Intent intent=getIntent(); ArrayList<String> test = intent.getStringArrayListExtra("test");
final static String EXTRA_MESSAGE = "edit.list.message"; Context context; public void onClick (View view) { Intent intent = new Intent(this,display.class); RelativeLayout relativeLayout = (RelativeLayout) view.getParent(); TextView textView = (TextView) relativeLayout.findViewById(R.id.textView1); String message = textView.getText().toString(); intent.putExtra(EXTRA_MESSAGE,message); startActivity(intent); }
Comments