【问题标题】:Dagger listener/interface injectionDagger 监听器/接口注入
【发布时间】:2022-10-24 00:38:07
【问题描述】:

大家好,我一直在努力了解如何使用 Dagger2 将侦听器注入到主要活动中,我想知道我正在尝试做的事情是否可能,甚至是使用匕首的正确动作,或者我应该让它像它是正确的一样现在我已经读到我需要创建另一个具有该接口的实现的类,但不可能(或推荐)注入 mainactivity?提前感谢任何可以帮助我的人,我的所有内容简而言之如下:

//////////////////////////////////////MainActivity.class//////////////////////////////////////

    public class MainActivity extends AppCompatActivity implements CustomListener{
    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //this is the object I want to inject in Dagger
            LongProcess longProcess = new LongProcess(this);
            longProcess.longRunningProcess();
    }
   @Override
    public void onProcessStarted() {
        Log.i(TAG, "onProcessStarted: CALLBACK!");
    }

    @Override
    public void onProcessFailed() {
        Log.e(TAG, "onProcessFailed: CALLBACK!");
    }}

//////////////////////////////////////LongProcess.class//////////////////////////////////////

public class LongProcess {
 private CustomListener customListener;
 public LongProcess(CustomListener customListener) {
    this.customListener = customListener;
}


public void longRunningProcess() {
    try {
        //some long process started...
        customListener.onProcessStarted();

    } catch (Exception e) {
        //some long process failed...
        customListener.onProcessFailed();
    }
}
}

//////////////////////////////////////interface.java//////////////////////////////////////

public interface CustomListener {

    void onProcessStarted();
    void onProcessFailed();
}

【问题讨论】:

    标签: android dependency-injection code-injection


    【解决方案1】:

    您可以查看此用例的辅助注入:https://dagger.dev/dev-guide/assisted-injection

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-07
      • 2011-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多