У меня проблема с передачей моего Arraylist к следующему действию.Вот мой код ошибки.
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.Serializable android.content.Intent.getSerializableExtra(java.lang.String)' on a null object reference
Насколько я понимаю, я пытаюсь получить Arraylist, которого не существует.Я удостоверился, что Arraylist заполнен, и мои значения Intend верны, но я все еще получаю ошибку.
Создание Arraylist
ArrayList<HashMap<String, String>> names = new ArrayList<HashMap<String, String>>();
Создание намерения
Intent intent = new Intent(First.this, Second.class);
intent.putExtra("names", names);
startActivity(intent);
Получение намерения
Intent intent = getIntent();
ArrayList<HashMap<String, String>> usernamen = (ArrayList<HashMap<String, String>>) intent.getSerializableExtra("names");
Как уже говорилось, получение Arraylist правильно заполнено через
name = new HashMap<String, String>();
name.put("Name", spielername.getText().toString());
name.put("Gender", gender.getText().toString());
names.add(name);
Если кому-то понадобится дополнительная информация, я буду рад предоставить ее.
Редактировать:
gobutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(names.size() < 2){
Toast.makeText(Spieler.this, "No Informations", Toast.LENGTH_SHORT).show();
return;
}
Intent intent = new Intent(Spieler.this, Games.class);
intent.putExtra("level", level.getProgress());
intent.putExtra("names", names);
startActivity(intent);
}
});
Баттон отправляет меня на второе занятие, поэтому массив должен быть заполнен.