gpt4 book ai didi

android - 如何从其实现类中获取接口(interface)?

转载 作者:行者123 更新时间:2023-11-30 05:06:06 24 4
gpt4 key购买 nike

在我的 Android 应用程序中,我有一个 Controller DataManager,我在其中执行一些数据传输操作,并且我定义了(除其他外)接口(interface) ProgressbarCallback 以显示另一个进程的进度依赖 fragment :

public class DataManager {

ProgressbarCallback progressbarCallback;

public interface ProgressbarCallback {
void updateProgress(int progress);
}

//2
ProgressShowerFragment f = ProgressShowerFragment.getInstance();
progressCallback = f.getCallback();

//3
progressCallback.updateProgress(i)
}

我想控制依赖 fragment 的进度条。所以我有一个 ProgressShowerFragment 来显示我的进度:

public class ProgressShowerFragment extends Fragment implements DataManager.ProgressbarCallback {

@Override
public void updateProgress(int progress) {
progresBar.setProgress(progress);
}

//1
public ProgressbarCallback getCallback(){
return this;
}
}

为了在我的 DataManager 中有一个引用,我做了一个返回回调的 getter(参见 1)。在实例化 ProgressShowerFragment 时,我也得到了回调(参见 2)。

稍后在使用时我会像 3 中那样更新进度。

对我来说这看起来很丑陋。获取回调的优雅方式是什么?

最佳答案

您可以将 f 转换为 ProgressbarCallback

((ProgressbarCallback) f).updateProgress(i)

关于android - 如何从其实现类中获取接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54574846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com