我希望在点击按钮后简单地从活动中调用对话框片段:
eventInviteDecline.setOnClickListener(new View.OnClickListener() {
EventInviteResponseConfirmDialog newRespond = new EventInviteResponseConfirmDialog();
FragmentManager fm = getActivity().getFragmentManager();
public void onClick(View arg0) {
Bundle args = new Bundle();
args.putString("response", "decline");
newRespond.setArguments(args);
newRespond.show(fm, "ok");
}
});
但是,在代码中,它会调用错误,注意:Cannot resolve method getActivity()
。
我怎样才能让它发挥作用?
答案 0 :(得分:1)
我将课程扩展到了FragmentActivity
FragmentManager fragmentManager = getSupportFragmentManager();
AlertSMS userPopUp = new AlertSMS();
userPopUp.show(fragmentManager, "sms");
答案 1 :(得分:0)
如果您的代码来自某个活动,那么您应该只需删除getActivity().
部分并直接致电getFragmentManager
。
FragmentManager fm = getFragmentManager();
答案 2 :(得分:0)
当您处于活动状态时,无法调用getActivity()。你可以这个。或者你可以使用 Activityname.this
使用片段
时,最好使用支持片段管理器getSupportFragmentManager()