setContentView和inflate的區(qū)別

先上代碼

public class MyActivity extends Activity{
    private TextView tv;
    publicvoid OnCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.main);
        //tv = (TextView) findViewById(R.id.tv);
        LayoutInflater inflate = LayoutInflater.from(this);
        View view = inflate.inflate(R.layout.main,null);
        setContentView(view);
    }
}

實(shí)際情況中 注釋掉的代碼和沒有注釋的效果相同,可以證明,setContentView一旦調(diào)用則立刻顯示View而LayoutInflater只是創(chuàng)建一個(gè)View對(duì)象而不顯示出來.
實(shí)際情況中,又可能我們需要在Activity中動(dòng)態(tài)改變View,那么就需要使用LayoutInflater來先創(chuàng)建一個(gè)View對(duì)象再對(duì)Activity設(shè)置setContentView.

 public View inflate(int Resourece,ViewGroup root)

作用: 填充一個(gè)新的視圖層次結(jié)構(gòu)從指定的XML資源文件中
reSource: View的layout的ID
root: 生成的層次結(jié)構(gòu)的根視圖
return: 填充的層次結(jié)構(gòu)的根視圖。如果參數(shù)root提供了,那么root就是根視圖;否則填充的XML文件的根就是根視圖。
其余幾個(gè)重載的inflate函數(shù)類似。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容