Java 未调用接口回调方法
我尝试在以下场景中使用回调接口Java 未调用接口回调方法,java,android,interface,callback,Java,Android,Interface,Callback,我尝试在以下场景中使用回调接口 public class FragSuper extends Fragment implements Listener { public static hello() { Listener l = new FragSuper(); l.banana(); } @Override public void banana() { Log.e("Banana", "in Fra
public class FragSuper extends Fragment implements Listener
{
public static hello()
{
Listener l = new FragSuper();
l.banana();
}
@Override
public void banana()
{
Log.e("Banana", "in FragSuper");
}
}
public class Test extends Activity implements Listener
{
/* ....... code here .......*/
@Override
public void banana()
{
Log.e("Banana", "in Test");
}
}
问题是香蕉在FragSuper类中得到回调,但是测试类中的香蕉没有得到调用。为什么呢
我做错了什么
更新:
在向侦听器接口提供测试的上下文/实例后,如下所示:
Listener l = new Test();
l.banana();
我得到这个错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
问候好的,给你
Listener l = (Test) (getActivity());
l.banana();
这是行不通的。我得到nullPoinnterException,因为Test是主活动&它在测试完全由OSFrom初始化之前就开始接收回调,当您调用它时,我从FragSuper classListener l=new FragSuper;对在片段事务上传递给Frgsuper的测试实例的更改,则我不会在测试中收到回调