2016-04-19 32 views
0

我有我的應用程序工作與片段調用到主要活動。一切都很好,但我希望能夠控制片段佈局上方的菜單。安卓android片段控制主要活動

因此,讓我們說你瀏覽片段的博客文章,我想我設置在片段上方的菜單中的文本視圖來更新或隱藏一個按鈕或顯示具有設置可見性的按鈕。

我不知道如何控制不在當前片段中的東西。

我應該如何解決這個問題。

謝謝

回答

1

在您的片段中定義一個接口並讓您的Activity實現該接口。

public interface MyInterface { 
    // add methods here 
} 

在onAttach,獲取接口:

@Override 
public void onAttach(Activity activity) { 
    super.onAttach(activity); 
    if (activity instanceof MyInterface) { 
     mMyInterface = (MyInterface) activity; 
    } else { 
     throw new ClassCastException(activity + " must implement interface MyInterface"); 
    } 
} 

@Override 
public void onDetach() { 
    mMyInterface = null; 
    super.onDetach(); 
} 

然後只需撥打mMyInterface方法需要。

+0

但我應該如何從活動中調用它。一些mMyInterface.Button.set可見性或類似的東西。我對android很新穎。 – carlosx2

+0

您可以告訴活動片段已完成(onShowBlogPost),並讓活動決定如何處理該事件的用戶界面。除了界面之外,碎片對活動一無所知。 – Francesc

+0

我已經通過使用以下代碼解決了它MainActivity mainActivity; mainActivity.musicButton.setVisibility(View.GONE);感謝Francesc的幫助。 – carlosx2