如何从Activity调用DialogFragment

时间:2016-04-14 22:36:44

标签: android dialog

我希望在点击按钮后简单地从活动中调用对话框片段:

    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()

我怎样才能让它发挥作用?

3 个答案:

答案 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()