【发布时间】:2017-07-30 16:27:13
【问题描述】:
我有一个负责在不同片段之间切换的主要活动。这些片段具有活动需要实现的接口,以便片段将数据发送回活动。
目前我将片段中onAttach 方法的上下文转换为片段中指定的特定接口的实例。但是,由于活动类必须实现所有这些才能进行强制转换,因此接口中指定的方法也需要直接在类中实现。
我想做的是创建这些接口的实例并将它们保存到类变量中。问题是如何将引用传递给片段?该过程应尽可能通用,以便轻松添加片段。
所以而不是传统的方式
class MyActivity extends Activity implements MyFragmentListener {
public void myFragmentMethod() {
// ...
}
}
我想要的是
class MyActivity extends Activity {
private MyFragmentListener myFragmentListener = new MyFragmentListener() {
public void myFragmentMethod() {
// ...
}
};
}
问题是如何通知片段有关接口实现的信息。使用 BroadcastReceiver 可以,但看起来有点乱。
【问题讨论】:
-
试试 Eventbus。它更清洁
-
@RissmonSuresh 看起来不错,但这并不能解决从类根中解耦方法的问题。
标签: java android android-fragments interface