我已經搜索過這個問題,但無法找到任何可以解決我的問題的東西。我的問題是,我有一個活動,其中包含不斷更新不同片段的FrameLayout。頂視圖和底視圖將保持相同,因此它們在 活動的佈局中。使用界面從活動與片段之間的溝通
正如你所看到的底部視圖有一個單擊按鈕,我想對將出現在FrameLayout中的片段進行更改。
我創建了一個接口
public interface ShowFormula {
void showFormula(boolean show);
}
,我將使用在片段來實現。 現在在我的MainActivity類別主要的問題我試圖初始化界面,但不能因爲我得到類轉換異常
showFormula = (ShowFormula) this;//yes i know this is wrong
我應該怎樣才能與該片通信初始化此。 主要目標是在點擊活動中的按鈕時切換片段中的視圖。
在此先感謝。
在片段上實現您的接口,並在片段創建時將其分配給您的接口變量。你按照相反的順序來做,它沒有意義存儲對此的引用,並且因爲你已經在片段中實現了接口(Thats OK),所以它會崩潰。 – Nanoc
但我怎麼會得到按鈕點擊監聽事件的片段,因爲按鈕是在活動的佈局中存在。多數民衆贊成我已經試圖以相反的順序實施,所以當用戶點擊活動中的按鈕,我可以切換目前在片段中的視圖的可見性。 – Swapnil
使用接口通知您的按鈕片段單擊 – Nanoc