setContentView切換頁面(無需每次都findViewById)—–二

來源:互聯網
上載者:User

http://blog.csdn.net/yanzi1225627/article/details/7802402這裡是我以前寫的總結,這次要用到,可奇怪的是,不管咋弄,從介面A切換到介面B可以,從B到A也可以。再次從A到B死活都不行了。最終的原因在Jum2B 這個函數裡,我用了setContentView(R.layout.B)的方法,而不是執行個體化出來的View BView參數。這裡對這個問題,再做一次總結:

假設兩個介面A和B,A裡有Button為btn1, B裡有Button為btn2. 啟動時是介面A,然後按按鍵btn1和btn2可以切換到另外一個介面裡。

1,這兩個Button要弄成全域變數,如果在onCreate函數裡弄成final 應該也行。

2,在全域變數裡要定義兩個View AView = null, View BView = null, 然後在onCreate裡用inflater執行個體化一下。

3,之後弄兩個函數Jump2B, Jump2A,這兩個函數裡setContentView傳進去的參數是上面定義的View參數。兩個View 必須都是。然後findViewById的時候,調用(AView).findViewById()這種方法。

4,在onCreate裡設定btn1的監聽,調用Jump2B方法,在Jump2B方法裡,執行個體化出來btn2, 並設定監聽。增加一個flag,只需設定監聽一次就可以了。

 

注意:要點是setContentView傳進去的參數是用inflater執行個體化的View, 在Button 的執行個體化時調用(AView).findViewById() 。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.