1.切換Activity
[情境分析]
2.必須有2個Layout
3.2個Activity必須分屬不同package
SETP 1:新增專案
新增專案Homework2,新增方式請參考建立第一個Android。
SETP 2:先行加入需用到之檔案
由情境分析可知,需於本專案新增java class與xml各一,前者名為Homework2_2.java,後者名為layout2.xml,新增後之架構如下圖。
重點I:第2個Activity(Homework2_2)的新增方式
Homework2_2需配置於不同package,故新增方式稍稍不同,步驟以完整圖片說明如下
New→Package |
給個Name (第1個Packagename是com.example.android.homework2, 這邊我把新Package的Name取為com.example.android.homework2_2) |
SETP 3:修改AndroidMainfest.xml
於AndroidMainfest.xml新增名為com.example.android.homework2_2.Homework2_2的Activity
SETP 4:配置Layout
分別於main.xml與layout2.xml隨意放置一Button﹡第1個Activity(Homework2.java)
重點:setClass要連同package都指定
本來只要寫
Intent i = new Intent() ;
i.setClass(Homework2.this, Homework2_2.class) ;
但Homework2與Homework2_2目前分屬不同package之下,必須改寫為
Intent i = new Intent() ;
i.setClass(Homework2.this, com.example.android.homework2_2.Homework2_2.class) ;
﹡第2個Activity(Homework2_2.java)
重點:setClass要連同package都指定
同理,Homework2與Homework2_2目前分屬不同package,要返回前Activity也是要指定
Intent i = new Intent() ;i.setClass(Homework2_2.this, com.example.android.homework2.Homework2.class) ;
SETP 6:執行
★如果對切換Activity概念薄弱,看完本文無法明確分辨往返不同Activiy並傳遞資料(相同package) 以及往返不同Activiy(不同package)之差異,請參考ola類似的文章。該文透過單一專案,一併呈現3種Activity切換方式,有助於釐清package對呼叫class的影響。
沒有留言:
張貼留言