我有一个MainActivity,其中有一个子活动PatientActivity。

PatientActivity具有子活动RecordActivity。

在MainActivity中,我intent给PatientActivity添加了额外的内容:

MainActivity.java

...
listPatients.setOnItemClickListener(new OnItemClickListener()
{
    @Override
    public void onItemClick(AdapterView<?> parent, View view,
            int position, long id)
    {
        try {
            Intent intent = new Intent(view.getContext(), PatientActivity.class);
            intent.putExtra("patient", patients.getJSONObject(position).toString());
            startActivity(intent);
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
});
...


在PatientActivity.java中

    ...
@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);

    intent = getIntent();

    String patientFromJson = intent.getStringExtra("patient");

    patient = Patient.fromJson(patientFromJson);

    ...


现在,在PatientActivity中,我有时会intent到RecordActivity。

在RecordActivity中,当我按向上按钮(而不是向后按钮)时,它崩溃了,因为PatientActivity.onCreate()找不到患者的参考,从而导致NullPointerException。

我该如何解决?

最佳答案

尝试这个:

Bundle extras = getIntent().getExtras();
ArrayList<String>hi= new ArrayList<String>();
hi = extras.getStringArrayList("patient");

08-26 09:07