我想从自定义适配器返回回调到我的片段。但是,适配器不允许我传递实现自定义适配器中定义的接口的Fragment的引用。我怎样才能收到从适配器到片段的回调?
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 :(得分:1)
只是为了明确定义和SOC,你可以试试这个,
public class MyFrag extends Fragment
{
@Override
public void onCreateView()
{
MyAdapter adapter = new MyAdapter(new MyInterface() {
@Override
public void mySignal()
{
//do stuff here
}
});
}
}
答案 1 :(得分:0)
据我所知,Fragment有这个方法
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
对不起我的问题!什么是onCreateView()方法没有任何参数?
如果没有更多不同的东西,这种方式可以正常工作。