【问题标题】:using roboguice without extending Activity在不扩展 Activity 的情况下使用 roboguice
【发布时间】:2011-11-29 09:27:19
【问题描述】:

有没有办法在不使用 RoboActivity 扩展 Activity 类的情况下使用 roboguice。

【问题讨论】:

    标签: android roboguice


    【解决方案1】:

    是的。使用尚未测试版的 1.2-SNAPSHOT 会更容易。要使用 1.2,只需将以下内容添加到您的 onCreate()、onContentChanged() 和 onDestroy()。如果您不使用 roboguice 事件,则不需要有关 EventManager 的信息:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        RoboGuice.getInjector(this).injectMembersWithoutViews(this);
        super.onCreate(savedInstanceState);
    }
    
    @Override
    public void onContentChanged() {
        super.onContentChanged();
        RoboGuice.getInjector(this).injectViewMembers(this);
    }
    
    
    @Override
    protected void onDestroy() {
        try {
            RoboGuice.destroyInjector(this);
        } finally {
            super.onDestroy();
        }
    }
    

    如果您使用的是 RoboGuice 1.1.x(最新的稳定版本),则原理相同,但调用方式略有不同。查看1.1 RoboActivity source 以了解您需要拨打哪些电话。

    【讨论】:

      【解决方案2】:

      它可以工作,但你必须实现 RoboContext 并声明它

      protected HashMap<Key<?>,Object> scopedObjects = new HashMap<>();
      

      【讨论】:

        猜你喜欢
        • 2018-09-28
        • 2012-05-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-10
        • 1970-01-01
        • 2015-07-02
        相关资源
        最近更新 更多