这是我的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 Fragment
中mMediaUri = getActivity().getIntent().getData();
mFileType = getActivity().getIntent().getExtras().getString(ParseConstants.KEY_FILE_TYPE);
这给了我一个关于Recipients.class Fragment的Class Cast异常的错误。
答案 0 :(得分:1)
从活动中您按意图发送数据:
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);
}
}