2

Я хочу вызвать функцию в фрагменте из класса. Как прикрепить FragmentActivity к внешнему интерфейсу, как я присоединять деятельностиReference FragmentActivity для внешнего интерфейса

В настоящее время для деятельности, класс содержит

public interface externalInterface { 
    public void gotoNext(); 
} 

public void setActivity(externalInterface activity) { 
    parentActivity = activity; 
} 

и я назвал

parentActivity.gotoNext(); 

активность имеет

@Override 
public void gotoNext() { 
    //Do something 
} 

Подобный Мне нужно вызвать функцию gotoNext() в фрагменте из того же класа s.

ответ

0

Если функция, которую вы хотите звонить уже в деятельности, то вы можете сделать что-то вроде кода ниже, и он будет работать -

Ключ, в фрагменте вы метод, называемый getActivity(), который вы можете используйте для доступа к методам в своей деятельности.

public interface ExternalInterface { 
    public void gotoNext(); 
} 

public MyActivity implments ExternalInterface { 
public void gotoNext(){ 
//Do something here 
} 
} 

В вашем фрагменте, вы можете позвонить

public MyFragment extends Fragment{ 

@Override 
public void onCreateView(....){ 
((ExternalInterface)getActivity()).gotoNext(); 
} 
} 
0

Если я не ошибаюсь, вы хотите использовать gotoNext() в фрагментах, которые быть будет там в FragmentActivty

  1. убедитесь, что активность фрагментов реализует интерфейс.
  2. В фрагмент вызова getActivity() может обратное приведение к интерфейсу и вызове метода (убедитесь, что onActivityCreated() вызов завершен)
Смежные вопросы