如何获取片段中所有视图的列表?

时间:2015-06-18 16:54:24

标签: android android-fragments android-view

我想获得一个主Fragment内的所有视图的列表,以便我可以在for循环中迭代它们。也许是这样的:

for (View v : fragmentViews) {

2 个答案:

答案 0 :(得分:4)

好的,片段有方法getView():

  

获取片段布局的根视图(返回的布局)   {@link #onCreateView}),如果提供的话。 @return片段的根视图,   如果没有布局,则返回null。

您可以这样做:

    try {
        ViewGroup rootView = (ViewGroup) getView();
        int childViewCount = rootView.getChildCount();
        for (int i=0; i<childViewCount;i++){
            View workWithMe = rootView.getChildAt(i);
        }
    } catch (ClassCastException e){
        //Not a viewGroup here
    } catch (NullPointerException e){
        //Root view is null
    }

答案 1 :(得分:0)

onCreateView中的常规方式为您的片段充气: -

View rootView = inflater.inflate(R.layout.my_fragment, container, false);

循环播放片段的视图:

ViewGroup container = (ViewGroup) rootView;
int count = container.getChildCount();
for (int i = 0; i < count; i++) {
    View v = container.getChildAt(i);
    // perform action on this view
}