私の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;
}
}
私のDataManager
中で参照を持っているために、私はコールバックを返すゲッター(1を参照)を行いました。インスタンス化するProgressShowerFragment
と、そのコールバックも取得します(2を参照)。
後で使用するときに、3のように進行状況を更新します。
私にとって、これは非常に醜いようです。コールバックを取得するためのエレガントな方法は何ですか?
fをProgressbarCallbackにキャストできます
((ProgressbarCallback) f).updateProgress(i)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加