【问题标题】:How to get Intent Data from Activity into Fragment如何从 Activity 获取 Intent 数据到 Fragment
【发布时间】:2016-03-18 19:09:38
【问题描述】:

这是我的 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 错误。

【问题讨论】:

  • 如何创建片段?
  • @slanecek 我不明白你的问题。你想知道我是如何创建片段的吗?
  • 没错。你是怎么做到的?

标签: java android android-fragments android-intent


【解决方案1】:

您从 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);    

}
}

【讨论】:

  • 如何使用 MediaUri?
  • 如何将 Uri 传递给 Fragment 我的代码中有 mediauri。以及传递参数后如何启动片段。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-20
  • 2021-07-12
  • 1970-01-01
  • 1970-01-01
  • 2013-07-26
相关资源
最近更新 更多