0

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

目前我只有一个 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);
    }
}
4

1 回答 1

1

您可以将此代码重构为您的静态方法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)任何地方使用。

于 2012-05-20T12:46:35.970 回答