在我的Android应用我有一个控制器DataManager
在那里我做了一些数据传输的东西,我已经定义(其中包括)的接口ProgressbarCallback
显示在另一个片段不同的进展:
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;
}
}
有我做了一个getter我DataManager
参考(见1)什么返回回调。当实例ProgressShowerFragment
我也拿到回调(见2)。
后来我使用更新像3的进展情况。
对我来说,这看起来非常难看。什么是优雅的方式做得到回调?
你可以施放F到进度条回调
((ProgressbarCallback) f).updateProgress(i)