1

我知道这是一个非常问的问题,但我已经对此进行了研究,但仍然没有设法提出有效的解决方案。

问题是我尝试像这样从片段发送数据:

Intent intent = new Intent(getActivity(),EditReceiptActivity.class);
                System.out.println("RECEIPT IN SETTINGS: "+ receipt);
                intent.putExtra("receipt_to_be_edited", receipt);
                startActivity(intent);

这是在片段上下文中完成的。

然后当我尝试在活动上下文中检索这些数据时:

@Override
    protected void onResume() {
        Bundle extras = getIntent().getExtras();
        if (extras != null) {
            Receipt value = (Receipt) extras.getSerializable("receipt_to_be_edited");
            System.out.println("RECEIPT ON RESUME: "+ value);
            FolderDataSource f = new FolderDataSource(getApplicationContext());
            f.open();
            String name = f.getFolderName(value.getId());
            f.close();
            folder_title.setText(name);
            details_txt.setText(value.getDetails());
            value_txt.setText(value.getValue());
            category_picked_txt.setText(value.getCategory());
            folder_picked_txt.setText(name);
            currency_picked_txt.setText(value.getCurrency());
            location_picked_txt.setText(value.getLocation());
            setImageView();
        }
        super.onResume();
    }

我得到一个空指针异常......即使打印在那里......空指针异常就行了:

            String name = f.getFolderName(value.getId());

编辑

问题是我的方法 getFolderName(),它返回 null,所以我的传递信息代码没有任何问题!

因此,这可能是另一个如何通过 Intent 将信息从片段传递到活动的示例!

谢谢!

4

0 回答 0