私のLinearLayout
(parentLayoutなど)には他に5つLinearLayouts
(childLayoutなど)があり、現時点ではそのうちの1つだけが表示されているとします。他のレイアウトは、外部イベントに依存して表示されます。表示されているparentLayoutのchildLayoutの数を数えるにはどうすればよいですか?
2690 次
2 に答える
11
親レイアウトの子を反復処理して、それらの可視性を確認できます。このようなもの:
LinearLaout parent = ...;
int childCount = parent.getChildCount();
int count = 0;
for(int i = 0; i < childCount; i++) {
if(parent.getChildAt(i).getVisibility() == View.VISIBLE) {
count++;
}
}
System.out.println("Visible children: " + count);
于 2013-09-10T16:18:06.170 に答える
2
これは、LinearLayout、RelativeLayout、ScrollViewなどのViewGroupで表示される子の数を返す関数です..
private int countVisible(ViewGroup myLayout)
{
if(myLayout==null) return 0;
int count = 0;
for(int i=0;i<myLayout.getChildCount();i++)
{
if(myLayout.getChildAt(i).getVisibility()==View.VISIBLE)
count++;
}
return count;
}
于 2013-09-10T16:18:46.783 に答える