要得到一個查看從XML在Android findViewById()
被用來讓我們說一個ListView。Android需要什麼才能返回findViewById()?
由於事實findViewById()
返回父查看對象,而不是的ListView對象,我們需要轉換findViewById()
ListView控件的ListView =(ListView控件)findViewById的回報(R.id.listView) ;
的findViewById()
輸出,而不鑄造:
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(),然後返回的ListView對象爲什麼這裏有必要投的findViewById()
回報?
你確定在這種特殊情況下你需要它嗎?從文檔:「注意:在大多數情況下(取決於編譯器支持),結果視圖會自動轉換爲目標類類型,如果目標類類型不受約束,則可能需要顯式轉換。 (該方法是通用的,並且類型參數將通過您要分配的類型推斷出來。) –