假设我有一个
问题类别列表活动
实施3个片段的详细信息活动
我看到了不同的方法,例如使用捆绑软件和使用界面,但我听不懂。所以我需要帮助的人!!!
答案 0 :(得分:1)
您可以通过在片段中定义新实例来传递参数,如下所示:
public class FragmentA extends BaseFragment {
View view;
PreferencesManager pm;
@BindView(R.id.textview1)
TextView textView1;
public static FragmentA newInstance(String param1,String param2,String param3) {
Bundle args = new Bundle();
FragmentA fragment = new FragmentA();
args.putString("param1", param1);
args.putString("param2", param2);
args.putString("param3, param3);
fragment.setArguments(args);
return fragment;
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
if (view == null) {
view = inflater.inflate(R.layout.fragment_a, container, false);
ButterKnife.bind(this, view);
if (getArguments().size() > 0) {
param1= getArguments().getString("param1");
param2= getArguments().getString("param2");
param3= getArguments().getString("param3");
}
}
return view;
}
}
这是您替换片段的方式:
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fragment_main, FragmentA.newInstance(param1,param2,param3))
.addToBackStack(null)
.commit();
答案 1 :(得分:0)
尝试这样
发送活动类中的数据:
YourFragment fragment = new YourFragment ();
fragment.setArguments(data);
接收片段类中的数据:
Bundle bundle=getArguments();