0

アクティビティ内でビューを取得し、すべての電話と API バージョンで同じ方法でビューを取得する必要があります。これが私がそれを行う方法です:

private void walkTroughViews(ViewGroup group)
{
    for (int i=0; i<group.getChildCount(); i++)
    {
        View view = group.getChildAt(i);

        if (something)
        {
            //Do something
        }
        if (view instanceof ViewGroup)
        {
            ViewGroup viewGroup = (ViewGroup) view;
            walkTroughViews(viewGroup);
        }
    }
}

しかし、結果は API レベルまたは電話モデルに基づいて異なります (まだわかりません)。4.2 には LinearLayout が 1 つあり、>4.0 には 4.1 または 4.1 にないフレーム レイアウトがあるようです。それはなぜですか?また、すべての電話で同一のアクティビティ レイアウトのみを取得するにはどうすればよいですか? 現在、このメソッドを開始しようとしていますonGlobalLayoutListener mActivity.getWindow().getDecorView().findViewById(R.id.content)

PSライブラリのせいかもしれないと思いますがsupport-v4、4.2に予備のLinearLayoutがあるのはなぜですか?

4

1 に答える 1