Ответ 1
Вы устанавливаете дополнительный массив с массивом. Затем вы пытаетесь получить один int.
Ваш код должен быть:
int[] arrayB = extras.getIntArray("numbers");
У меня есть массив целых чисел в активности 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" на массиве. Я искал некоторые примеры, но ничего не нашел.
Вы устанавливаете дополнительный массив с массивом. Затем вы пытаетесь получить один 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);
}