繁体   English   中英

如何从 Activity 获取 Intent 数据到 Fragment

[英]How to get Intent Data from Activity into Fragment

这是我的 MainActivity,我将数据从中传递给另一个 Recipient Fragment 类

Intent recipientsIntent = new Intent(this, RecipientsActivity.class);
            recipientsIntent.setData(mMediaUri);

            String fileType;
            if (requestCode == TAKE_PHOTO_REQUEST) {
                fileType = ParseConstants.TYPE_IMAGE;
            }
            else {
                fileType = ParseConstants.TYPE_VIDEO;
            }

            recipientsIntent.putExtra(ParseConstants.KEY_FILE_TYPE, fileType);
            startActivity(recipientsIntent);

我已将此意图调用到我的 Recipients.class 片段中

mMediaUri = getActivity().getIntent().getData();
        mFileType = getActivity().getIntent().getExtras().getString(ParseConstants.KEY_FILE_TYPE);

这给了我 Recipients.class Fragment 上的 Class Cast Exception 错误。

从 Activity 发送数据的目的是:

        Intent recipientsIntent = new Intent(this, RecipientsActivity.class);
        recipientsIntent.setData(mMediaUri);

        String fileType;
        if (requestCode == TAKE_PHOTO_REQUEST) {
            fileType = ParseConstants.TYPE_IMAGE;
        }
        else {
            fileType = ParseConstants.TYPE_VIDEO;
        }

        recipientsIntent.putExtra(ParseConstants.KEY_FILE_TYPE, fileType);


        // set Fragmentclass Arguments
        Fragmentclass fragobj = new Fragmentclass();
        fragobj.setArguments(recipientsIntent );

并在 Fragment onCreateView 方法中:

public class Fragmentclass extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    String mFileType = getArguments().getString(ParseConstants.KEY_FILE_TYPE);    

}
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM