将数据从Fragment传递给Activity空指针异常

时间:2013-08-06 07:21:34

标签: android android-intent android-fragments android-activity

我知道这是一个非常被问到的问题,但我已经完成了对它的研究,但仍然无法提出有效的解决方案。

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

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将信息从片段传递到活动的另一个例子!

谢谢!

0 个答案:

没有答案