我是使用片段的新手。这就是我在滑动标签中的第一个片段的onActivityCreated中传递StringArrayList的方法
$.validator.hideMessage($ele.get(0));
然后我试图将SlideList放在滑动标签的第三个片段中,如下所示:
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
next_personal = (Button) getActivity().findViewById(R.id.personal_next);
next_personal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
validate();
}
});
}
private void validate() {
isValid = FormValidator.validate(this, new SimpleErrorPopupCallback(getActivity().getApplicationContext(), true));
if (isValid) {
arrayList = new ArrayList<String>();
arrayList.add(memID.getText().toString());
arrayList.add(idNumber.getText().toString());
arrayList.add(firstName.getText().toString());
arrayList.add(secondName.getText().toString());
arrayList.add(lastName.getText().toString());
arrayList.add(secondLastName.getText().toString());
Bundle bundle = new Bundle();
bundle.putStringArrayList("personal",arrayList);
Log.d("bundle",": "+bundle.toString());
FragContactInfo frag = new FragContactInfo();
frag.setArguments(bundle);
((RegisterTabActivity) getActivity()).setCurrentItem(1, true);
}
}
继续返回null。两个片段的onCreateView内部相同,结果相同。我在这里弄错了什么?
答案 0 :(得分:0)
使用bundle无法帮助解析片段之间的数据(不知何故)
所以我只是创建了在目标片段中设置和获取数据的方法。
public void setPdata(JSONObject obj) {
this.personalJSON = obj;
}
public JSONObject getPdata() {
return personalJSON;
}
然后我调用set方法在发送方片段中设置json。
FragContactInfo frag = new FragContactInfo();
frag.setPdata(json);
然后通过简单地调用get方法来访问json。
array1 = getPdata().getJSONArray("args");
如果有人有更高效的解决方案,请告诉我们。快乐的编码。