我正在寻找有关如何在setOnItemClickListener
内使用Intent发送自定义对象的所有Internet。我想将此Person
对象发送到另一个Activity,但它始终发送null。我需要把它放在6个EditText中。有人能帮助我吗?
listEndereco.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(AdrressApp.this, EditorPerson.class);
Person pessoa = listEndereco.getItemAtPosition(position);
intent.putExtra("pessoa", pessoa);
startActivity(intent);
}
});
这是另一项活动:
Intent i = getIntent();
Person idPessoa = (Person) i.getSerializableExtra("pessoa");
当我运行应用程序时,我收到此错误:
Attempt to invoke virtual method 'void android.widget.EditText.setText(java.lang.CharSequence)' on a null object reference
答案 0 :(得分:1)
Person
必须是Serializable
或Parcelable
才能生效。另外我建议你使用Parcelable
。
实施Parcelable
后,您需要覆盖某些方法。您可以refer this了解如何实现这些接口。或者,您可以使用AutoParcel之类的东西来完成这一切。