簡體   English   中英

從片段類調用活動函數給出了NPE

[英]calling function of activity from fragment class gives NPE

我有一個活動,其父類是片段讓我們稱它為片段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指針異常。 請幫忙。

您的片段並不總是附加到活動,因此有時getActivity()可能返回null。

閱讀有關此協調活動生命周期的信息

如果希望片段A與片段B通信,則應在片段A(父活動必須實現)內定義接口,以將數據從片段A發送到父活動,並從父活動將該數據發送到片段B.

檢查此鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM