我怎样才能得到它的实现类的接口?

问题描述 投票:1回答:1

在我的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的进展情况。

对我来说,这看起来非常难看。什么是优雅的方式做得到回调?

android android-fragments android-activity interface callback
1个回答
0
投票

你可以施放F到进度条回调

((ProgressbarCallback) f).updateProgress(i)
© www.soinside.com 2019 - 2024. All rights reserved.