在我的Android应用中,我有一个控制器DataManager
,我在其中进行一些数据传输,并且已经定义了一个接口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)
}
我想控制依赖片段的进度条。所以我有一个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
中添加参考,我已经完成了一个吸气操作(请参见1),该操作返回了回调。实例化ProgressShowerFragment
时,我还会收到该回调(请参见2)。
使用后,我会像3中一样更新进度。
对我来说,这似乎很难看。取得回叫的一种优雅方法是什么?
答案 0 :(得分:0)
您可以将f投射到ProgressbarCallback
((ProgressbarCallback) f).updateProgress(i)