我已经搜索过这个问题,但无法找到任何可以解决我的问题的东西。我的问题是,我有一个活动,其中包含不断更新不同片段的FrameLayout。顶视图和底视图将保持相同,因此它们在 活动的布局中。使用界面从活动与片段之间的沟通
正如你所看到的底部视图有一个单击按钮,我想对将出现在FrameLayout中的片段进行更改。
我创建了一个接口
public interface ShowFormula {
void showFormula(boolean show);
}
,我将使用在片段来实现。 现在在我的MainActivity类别主要的问题我试图初始化界面,但不能因为我得到类转换异常
showFormula = (ShowFormula) this;//yes i know this is wrong
我应该怎样才能与该片通信初始化此。 主要目标是在点击活动中的按钮时切换片段中的视图。
在此先感谢。
在片段上实现您的接口,并在片段创建时将其分配给您的接口变量。你按照相反的顺序来做,它没有意义存储对此的引用,并且因为你已经在片段中实现了接口(Thats OK),所以它会崩溃。 – Nanoc
但我怎么会得到按钮点击监听事件的片段,因为按钮是在活动的布局中存在。多数民众赞成我已经试图以相反的顺序实施,所以当用户点击活动中的按钮,我可以切换目前在片段中的视图的可见性。 – Swapnil
使用接口通知您的按钮片段单击 – Nanoc