carrasc0 Asked: 2020-03-13 20:34:10 +0800 CST 2020-03-13 20:34:10 +0800 CST 2020-03-13 20:34:10 +0800 CST 将数据从片段传递到另一个活动中的片段 772 我有一个问题,我的应用程序已停止。我有一个包含多个片段的活动,我需要触发其中一个菜单按钮的事件,收集其数据并将其发送到另一个活动以将其显示在所述活动的片段中。 android 3 Answers Voted Best Answer Jorgesys 2020-03-14T09:17:46+08:002020-03-14T09:17:46+08:00 只需通过捆绑发送片段中的数据,当第二个活动接收到它时,您可以在其各自的片段中使用它。 Bundle bundle = new Bundle(); Intent intent = new Intent(getActivity(),SegundaActividad.class); intent.putExtra("dato_bundle", bundle); startActivity(intent); 在第二个活动中,在您的 onCreate() 方法中: Bundle bundle = getIntent().getExtras(); String valorRecibido= getIntent().getStringExtra("dato_bundle"); 在这里从包中接收数据,它们可以在具有您的第二个活动的片段中使用。 YoGo 2020-03-15T09:24:02+08:002020-03-15T09:24:02+08:00 您可以使用: putString(字符串键,大小值) 在处理 beginTransaction() 之前的 Source Fragment 中 Bundle args = new Bundle(); args.putString("email", email); fragment.setArguments(args); 在目标 Fragment 的 onCreateView 中,您可以获取 / 它们并将它们保存在您想要的任何位置。 String EMAIL = getArguments() != null ? getArguments().getString("email") : "[email protected]"; 您可以根据需要发送更多: args.putString("email", email); args.putString("nombre", nombre); args.putString("edad", edad); args.putString("sexo", sexo); 当然您也可以传递其他数据类型(String、int、float 等) 见:http: //developer.android.com/intl/es/reference/android/os/Bundle.html M. Mariscal 2020-03-15T12:21:24+08:002020-03-15T12:21:24+08:00 我也遇到过这个问题! 当您想在两个 Fragment 之间传递 DATA 时,您必须使用类Bundle(西班牙语中的包,计算术语),一旦创建,您必须添加一个 .putString(Key, Value), .putInt(Key, Value)..。 在你接收数据的另一个Fragment地方,你做一个 Bundle b = getArguments();,然后如果它是一个整数,例如你做一个b.getInt(Key,valorPorDefecto)
只需通过捆绑发送片段中的数据,当第二个活动接收到它时,您可以在其各自的片段中使用它。
在第二个活动中,在您的 onCreate() 方法中:
在这里从包中接收数据,它们可以在具有您的第二个活动的片段中使用。
您可以使用:
在处理 beginTransaction() 之前的 Source Fragment 中
在目标 Fragment 的 onCreateView 中,您可以获取 / 它们并将它们保存在您想要的任何位置。
您可以根据需要发送更多:
当然您也可以传递其他数据类型(String、int、float 等)
见:http: //developer.android.com/intl/es/reference/android/os/Bundle.html
我也遇到过这个问题!
当您想在两个 Fragment 之间传递 DATA 时,您必须使用类
Bundle
(西班牙语中的包,计算术语),一旦创建,您必须添加一个 .putString(Key, Value), .putInt(Key, Value)..。在你接收数据的另一个
Fragment
地方,你做一个Bundle b = getArguments();
,然后如果它是一个整数,例如你做一个b.getInt(Key,valorPorDefecto)