0
有没有办法用自己的实现替换默认的Activity类使用roboguice从这个类扩展?roboguice替换活动与自己的实现
例如这样一个活动:
public class MyActivity extends Activity
{...}
将取代默认的Activity类,并会成为所有其他衍生活动基地活动。
有没有办法用自己的实现替换默认的Activity类使用roboguice从这个类扩展?roboguice替换活动与自己的实现
例如这样一个活动:
public class MyActivity extends Activity
{...}
将取代默认的Activity类,并会成为所有其他衍生活动基地活动。
是的。最简单的方法是让您的基本活动从RoboActivity扩展。
例如,
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了解更多详情。只要您不需要事件,所需的更改就非常简单。