我有一個活動中的片段,該片段包含viewpager,這是代碼:從子片段通知裏面ViewPager他的父事件
public class RepliesContainerFragment extends Fragment {
@InjectView(R.id.viewPager)
ViewPager pager;
private PagerAdapter adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ReplyActivity replyActivity = (ReplyActivity) getActivity();
List<Replie> replies = getArguments().getParcelableArrayList("replies");
adapter = new PagerAdapter(replyActivity.getSupportFragmentManager(), replies);
setActionBar();
}
private void setActionBar() {
getActivity().getActionBar().setDisplayHomeAsUpEnabled(false);
getActivity().getActionBar().setIcon(getResources().getDrawable(R.drawable.ic_back));
getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
getActivity().getActionBar().setTitle("Respuestas");
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View view = inflater.inflate(R.layout.work_containter_replies, container, false);
ButterKnife.inject(this, view);
pager.setAdapter(adapter);
return view;
}
}
適配器我有實例化這樣一些片段內:
public class ReplyFragment extends Fragment {
@InjectView(R.id.tvQuestion)
TextView tvQuestion;
@InjectView(R.id.frameContainter)
FrameLayout replyContainer;
private ReplyView replyView;
private String question;
private String currentReplie;
private int replieType;
private int questionId;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
replieType = getArguments().getInt("replyType");
question = getArguments().getString("question");
questionId = getArguments().getInt("questionId");
currentReplie = getArguments().getString("currentReplie");
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View view = inflater.inflate(R.layout.work_reply_fragment, container, false);
ButterKnife.inject(this, view);
initQuestionText();
return view;
}
private void persistReply() {
ReplyActivity replyActivity = (ReplyActivity) getActivity();
if (replyActivity != null) {
//DO SOMETHING
//Notify to adapter from here
}
}
}
}
正如你所看到的,我想通知我RepliesContainerFragment和他的一些事件發生,做一個動作裏面適配器..
我該怎麼辦這是什麼? 與廣播接收器,回調(接口)..?我不知道。
我嘗試過,但在這一點上getparentfragment爲空。 – colymore 2014-09-22 05:57:06
對不起,你應該在你的問題中提及! – mmlooloo 2014-09-22 06:00:11
你真是抱歉 – colymore 2014-09-22 06:01:07