相信每個人都有看過setContentView(),但你可能沒有注意,這個方法有兩種版本,分別為 :
public void setContentView (int layoutResID) public void setContentView (View view) |
我們在使用的時候使否注意過呢,這裡必須要注意的是layoutResID這個項目,雖然它是傳入整形的參數,但是它一定要是一個layout的資源,怎麼說呢,相信很多人都碰過,在findViewById(R.id.XX),奇怪沒有打錯啊,為什麼老是跟我說Null Value Exception,其實這時候你因該要去檢查你的setContentView(R.layout.XXX)放置的位置或是名稱了,因為findViewById它會對應你在onCreate()中所設定的layout文件,到該xml文件取出該id的view,如果找不到,它會回傳一個空值,所以下再碰到Null Value Exception先去檢查你的setContentView()位置吧!!。
findViewById(R.id.XX)它的說明如下 :
額外測試了一下這樣會發生甚麼效果
setContentView(R.drawable.icon);
結果如下 :
至於為什麼大家自己想想吧!!
本篇就簡單的介紹到這邊囉。
沒有留言:
張貼留言