をAndroidのXMLから表示findViewById()
は、ListViewとしましょう。原因findViewById()
は親ビューオブジェクトではなく、私たちはfindViewById()
Android findViewById()のキャストの必要性は何ですか?
リストビューリストビュー=(リストビュー)findViewById(R.id.listView)の戻り値をキャストする必要がリストビューオブジェクトを返すという事実に
;鋳造なしfindViewById()
の
出力:findViewById()
のリターンをキャストするためにneccessaryである理由
System.out.println(findViewById(R.id.mainListView).getClass()); // class android.widget.ListView
System.out.println(findViewById(R.id.mainListView).getClass().getSimpleName()); // ListView
System.out.println((findViewById(R.id.mainListView) instanceof ListView)); // true
しかし、実際にfindViewById()は、リストビューオブジェクトを返しますか?
このようなケースで本当に必要ですか?ドキュメントから: "注:コンパイラのサポートによっては、ほとんどの場合、結果のビューは自動的にターゲットクラスの型にキャストされますが、ターゲットのクラス型が拘束されていない場合は、明示的なキャストが必要です。 (このメソッドは汎用的で、型引数は割り当てようとしている型によって推論されます)。 –