我想知道如何最好地创建进度条片段。当然,其他所有课程都必须可以使用它。

目前,我只有一个ProgressBarFragment,它具有公共setVisible方法。通过FragmentManager获取Fragment我可以将其设置为可见或不可见。但这是执行此类操作的正确方法吗?

public class MyActivity exetends FragmentActivity {
    void setVisibility(int visible) {
        ProgressBarFragment fragment = (ProgressBarFragment) getSupportFragmentManager().findFragmentById(R.id.fragment_progress_bar);
        fragment.setProgressBar(visible);
    }
}


当然,我还有其他几个也使用此代码来触发进度条的片段。

public class ProgressBarFragment extends Fragment {
    public void setProgressBar(int visible) {
        progressBar = (ProgressBar) getActivity().findViewById(R.id.progress_bar);
        progressBar.setVisibility(visible);
    }
}

最佳答案

您可以将此代码重构为ProgressBarFragment的静态方法

class ProgressBarFragment {
    //...
    static void setVisibility(Activity parent, int visible) {
           ProgressBarFragment progressBar =
                   (ProgressBarFragment)parent.getSupportFragmentManager()
                   .findFragmentById(R.id.fragment_progress_bar);
    progressBar.setProgressBar(visible);
    //...
}


因此,您将在各处使用ProgressBarFragment.setVisibility(yourActivity, 1)

10-07 22:29