有没有办法用roboguice从这个类扩展自己的实现来替换默认的Activity类?
例如这样的活动:
public class MyActivity extends Activity
{...}
将替换默认的Activity类,并将成为所有其他派生活动的基本活动。
答案 0 :(得分:1)
是。最简单的方法是让您的基本活动从RoboActivity扩展。
EG。
class MyBaseActivity extends RoboActivity { ... }
然后让所有活动都从MyBaseActivity扩展。
但是,如果由于某种原因您不希望从RoboActivity扩展,您可以通过执行以下操作轻松地将注入添加到您自己的活动中:
class MyBaseActivity extends Activity {
public void onCreate(Bundle b) {
super.onCreate(b);
RoboGuice.getInjector(this).injectMembersWithoutViews(this);
}
public void onContentChanged() {
super.onContentChanged();
RoboGuice.getInjector(this).injectViewMembers(this);
}
}
查看RoboActivity's source了解更多详情。只要您不需要事件,所需的更改就非常简单。