接收从适配器到Fragment的回调

时间:2014-12-31 09:41:34

标签: java android interface

我想从自定义适配器返回回调到我的片段。但是,适配器不允许我传递实现自定义适配器中定义的接口的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();
  }

}

2 个答案:

答案 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()方法没有任何参数?

如果没有更多不同的东西,这种方式可以正常工作。