发送意图的对象

时间:2018-01-08 01:01:52

标签: java android android-intent

我正在寻找有关如何在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

1 个答案:

答案 0 :(得分:1)

Person必须是SerializableParcelable才能生效。另外我建议你使用Parcelable

实施Parcelable后,您需要覆盖某些方法。您可以refer this了解如何实现这些接口。或者,您可以使用AutoParcel之类的东西来完成这一切。