2014-12-31 6 views
1

Я хочу вернуть обратный вызов от пользовательского адаптера до моего фрагмента. Однако адаптер не позволит мне передать ссылку Фрагмента, реализующего интерфейс, определенный в пользовательском адаптере. Как получить обратные вызовы от адаптера до фрагмента?Получение обратного вызова от адаптера до фрагмента

public class MyFrag extends Fragment implements MyInterface 
{ 
@Override 
public void onCreateView() 
{ 
    MyAdapter adapter = new MyAdapter(this); // error here: How to resolve 
} 

@Override 
public void mySignal() 
{ 
} 
} 


public class MyAdapter extends RecyclerViewAdapter 
{ 
    MyInterface listener; 

    public MyAdapter(MyInterface listener) 
    { 
     this.listener = listener; 
    } 


    public interface MyInterface 
    { 
    public void mySignal(); 
    } 

} 
+0

Что вы хотите сказать об ошибке XXXX? – Anatol

+0

XXXX - не очень ясная ошибка, какая ошибка вы на самом деле получаете? – BarrySW19

+0

Это было не что иное, как показатель для читателей –

ответ

1

Просто для четкого определения и SOC вы могли бы попробовать это вместо того, чтобы,

public class MyFrag extends Fragment 
{ 
@Override 
public void onCreateView() 
{ 

    MyAdapter adapter = new MyAdapter(new MyInterface() { 
      @Override 
      public void mySignal() 
      { 
        //do stuff here 
      } 
    }); 
} 

}

0

Как я знаю, фрагмент имеет этот метод

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)

Sorry для моего вопроса! Что такое метод onCreateView() без каких-либо параметров?

Этот способ будет работать нормально, если нет других вещей.

Смежные вопросы