我有一个活动,其父类是片段让我们称它为片段A,我有另一个片段B从哪里我想调用与片段A相关的活动的函数,如何调用这个函数?我试过这个: Respond和SResponses是其函数调用的活动。只有在这些活动处于活动状态时才会调用这些函数。
if (Respond.getActivityStatus() == true)
{
if (Respond.getrthreadid().compareTo(threadid) == 0)
{
//Respond res = new Respond();
//res.notiffy(message);
((Respond)getActivity()).notiffy(message);
}
}
if (SResponses.getActivityStatus() == true)
{
if (SResponses.getsrthreadid().compareTo(threadid) == 0)
{
//SResponses sres = new SResponses();
// sres.notiffy(message);
((SResponses)getActivity()).notiffy(message);
}
}
}
} catch (RuntimeException e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
} catch (RuntimeException e) {
// TODO: handle exception
e.printStackTrace();
}
但是它给了我Null指针异常。请帮忙。
答案 0 :(得分:2)
您的片段并不总是附加到某个活动,因此有时getActivity()可能会返回null。
答案 1 :(得分:0)
如果希望片段A与片段B通信,则应在片段A(父活动必须实现)内定义接口,以将数据从片段A发送到父活动,并从父活动发送该数据到片段乙