アクティビティ内でビューを取得し、すべての電話と 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があるのはなぜですか?