[英]Calling an Object Method on StartAtBootService from another class
[英]Calling object of a class from another
如果我沒記錯的話,您要在此處實現的目標稱為“ Communicator”模式,即您有兩個片段,您希望在兩個片段之間建立某種類型的通信,但是如果您直接調用一個彼此之間的碎片會使它們相互依存並且彼此密切相關。 因此,您將在其中一個片段中創建一個公共內部接口,然后讓“ Main Class”實現該接口,然后在您實現的方法內部,調用另一個片段,這樣,主類將充當兩者之間的中繼片段,這里重要的是這兩個片段不知道或不在乎另一個片段的存在。 只要實現一個“中間人”在兩個片段之間進行中繼,那么每件事都應該是好的。 因此,總而言之,讓您的主類實現您在片段中創建的接口,然后在已實現的方法內調用另一個片段。
更新:
重寫onAttach()
方法,然后嘗試使用在活動實例中傳遞的內容並將其onAttach()
轉換為接口,然后像這樣從片段中調用已實現的方法
private InnerInterface innerInterface;
public void onAttach(Activity activity)
{
try
{
innerInterface = (InnerInterface)activity;
}
catch (ClassCastException e)
{
// thrown if this activity did not implement the InnerInterface
}
}
然后在片段中創建內部接口的某處,由Main Class調用內部方法的實現方法,例如innerInterface.implemetedMethod()
。 我希望這是您可以理解的。
在左適配器中,創建Interface的空對象(在其中創建一個方法以返回右適配器getRightAdapter()),並從主類(實現接口)創建對象(在構造函數或新方法中)時分配此接口對象。 現在在主類中,實現該方法以返回右側適配器的對象(主類必須具有右側適配器的對象)。 現在,無論您想從左適配器訪問右適配器的任何地方,都只需調用此interfaceObject.getRightAdapter();即可。
反之亦然
希望這個能對您有所幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.