我想知道如何最好地创建进度条片段。当然,其他所有课程都必须可以使用它。
目前,我只有一个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)
。