2

null 以外の ViewGroup object が与えられた場合、それは null を返さないvと言えv.getChildAt(0)ますか?

null を返すことができる場合、そのビュー階層はどのようになりますか?

4

3 に答える 3

7

はい、ドキュメントによると、のように返されます。

指定された位置のビュー、またはその位置がグループ内に存在しない場合は null

于 2012-11-13T22:57:34.667 に答える
0

次のようなものがある場合

<ListView
    android:id="@+id/listview"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
</ListView>

あなたのレイアウトで、そして

ListView v = (ListView) findViewById(R.id.listview);
View view = v.getChildAt(0);
// view is null

があるViewGroupオブジェクトvv.getChildAt(0)ありnullます。表示するデータを与えるまで、ListView子はありません。

LinearLayoutさらに、動的コンテンツのプレースホルダーまたはフレームとして空のものを作成することもできます。

null を返すことができないと明示的に述べていない場合は、それを期待した方がよいでしょう。そうしないと、マーフィーの法則があなたを襲います。

于 2012-11-13T23:42:00.620 に答える
0

はい、null を返すことができます。

あなたの本当の質問は、それが起こるかどうか、そしてそれが起こったときにそれが何を意味するかだと思います. これは、ビュー グループに子がなかったことを意味します。ビューグループに子がないのはなぜですか? 知らない。最初の子への参照を取得しようとする直前に、ビュー階層が変更された可能性があります。

于 2012-11-13T23:24:40.450 に答える