android開發中一個activity如何調用另一個xml中的控件


有時候,我們需在一個activity中使用另一個activity中的控件,這時候就不能直接findViewById,不然會報錯指向空對象,這時就需要像下面這樣做。

LayoutInflater factory = LayoutInflater.from(當前類.this); 

View layout = factory.inflate(R.layout.你要獲取的另一個XML, null); 

TextView textview = (TextView) layout.findViewById(R.id.控件ID);

 

上面這樣的方法僅限在activity或Fragment中引入,但是如果想引入彈出的自定義的dialog中的控件該怎么辦呢?這里以使用dialog中的Edittext為例。

SettingDialog.java是我自定義的dialog,其中里面包含幾個Editext。效果圖如下:

 

這里我想在彈出這個dialog的Activity中使用dialog中的控件,那么應該這么辦:

先在Activity中聲明這個dialog

private SettingDialog settingDialog =new SettingDialog(this, R.style.MyDialog);//括號里面的是SettingDialog的構造器SettingDialog(Context context,int theme);

然后再activity聲明想使用的dialog中的控件(這里我以“服務器IP地址的Editext為例”)

    private EditText server_ip;// 對話框的ip
   server_ip = (EditText) settingDialog.findViewById(R.id.server_ip);

這樣就可以將Dialog中的控件獲取到了,接下來就可以正常按照一般的控件進行操作了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM