[OK]を、私は、次の例に似たレイアウトXML持っているので:アンドロイド:タイプ別のビューをどのように見つけるか
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/tile_bg" >
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="10dp" >
<LinearLayout
android:id="@+id/layout_0"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<!-- view stuff here -->
</LinearLayout>
<!-- more linear layouts as siblings to this one -->
</LinearLayout>
を私は実際には約7のLinearLayoutのアイテムを持っているlayout_0などから増加IDを持つ各ルートLinearLayoutの下にあるすべてのLinearLayoutアイテムを取得できるようにしたいと思います。私はルートにidを入れ、idで他のすべてのものを見つける必要がありますか、またはそれらをタイプで得ることができますか?
私はレイアウトを膨らませるために使用するコードは次のとおりです。
私はあなたがのViewGroupの子供を反復することができますが、これが唯一のビューであることをどこかで読みました。
子どもたちを種類別にまとめるにはどうすればよいですか?
範囲外の例外が発生しないようにi
Andres
'instanceof'は重い操作であることに注意してください。このAproachは、多くのchlidrenを持つビューでは遅くなる可能性があります。 –
@EmrysMyrooin高価な呼び出しは、入力間の遅延を引き起こす場合にのみ実際に問題になります。これがonCreateメソッド内での初期化だけであれば、ユーザが何とか何かをやる機会を与えられていないので、あまり重要ではありません。しかし、見つけたのは7人しかいなければ、これは本当に必要なことではありません。ここでも最適化が必要です。ループは高価で、UIループをぶら下げている。 –