我试图将对象传递给我的片段。我是这样做的
MenuFragment fragment = new MenuFragment(item);
setFragment(fragment);
但我知道在片段中使用构造函数不需要。我这样做了
public static MenuFragment newInstance(String desc) {
MenuFragment f = new MenuFragment();
Bundle b = new Bundle();
b.putString("desc", desc);
f.setArguments(b);
return f;
}
但不是如何传递字符串和我的对象?
答案 0 :(得分:1)
编辑:如果你想传递一些自定义对象,请使用
bundle.putSerializable(key, object)
方法。您的对象必须实现java.io.Serializable
接口。
然后在您的片段getArguments()
方法中调用:
public View onCreateView(LayoutInflater inflater,ViewGroup containerObject, Bundle savedInstanceState){
//...
Bundle bundle = getArguments();
Myclass itemObject = (Myclass) bundle.getSerializable("yourKey");
//...
}
答案 1 :(得分:0)
在片段的public void onCreate
函数中,执行以下操作:
if (getArguments() != null) {
String param = getArguments().getString("desc");
}