2016-04-14 42 views
0

我想简单地调用从活动的对话片段点击一个按钮后调用DialogFragment:如何从活动

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

如果您的代码来自某个活动,则应该能够删除getActivity().零件并直接致电getFragmentManager

FragmentManager fm = getFragmentManager(); 
0

当您处于活动状态时,您无法调用getActivity()。你可以这个。或者您可以使用片段

getSupportFragmentManager()

1

我伸出我的同班同学FragmentActivity

FragmentManager fragmentManager = getSupportFragmentManager(); 
       AlertSMS userPopUp = new AlertSMS(); 
       userPopUp.show(fragmentManager, "sms"); 
使用 Activityname.this

其更好地使用,虽然支持食槽片段