【发布时间】: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