0

因此,如果用户使用屏幕足够大的设备,我会看到 2 个片段(like a Samsung Galaxy Tab)

现在我正在显示一个片段列表两次(same fragment twice)。在片段的代码中,我使用它来隐藏进度条。

ProgressBar pb = (ProgressBar)getActivity().findViewById(R.id.progress);
pb.setVisibility(View.GONE);

问题是它只适用于其中一个片段。两者都具有相同的 id,因为它是相同的片段?我应该创建 2 个相同的片段还是可以在正确的片段中找到“正确的”进度条?

4

1 回答 1

2

与其在 Activity 的视图层次结构中查找视图(the ProgressBar),不如在片段的视图层次结构中找到它。所以在片段内部,执行以下操作:

ProgressBar pb = (ProgressBar) getView().findViewById(R.id.progress);

通常,您不想在父视图层次结构中进行查找,因此上述基本上适用于片段布局中的所有视图。

于 2012-12-28T10:14:56.513 回答