2016-04-14 46 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

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