一個Activity就相當於程式的一頁,如果想要跳轉到新的一頁,就必須插入新的Activity。
插入新的Activity有三步驟:
1、建立新的Activity程式碼,這裡以”new.class”為例
2、在AndroidManifest.xml中添加新Activity的描述
3、在原有Activity中調用啟動新的Activity
下面一步一步來,首先建立新的Activity程式碼:
在Eclipse左側的Package Explorer中的src下的package上點右鍵,New一個Class。有一點要注意,在彈出的對話方塊中,Superclass要選擇Activity,Name必須大寫(這是JAVA的規定,必須這樣,否則無法建立)
,在建立的Name.class裡插入代碼:
- public class Name extends Activity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.newviewxml);
- }
- }
然後建立相應的描述UI的xml檔案,
右鍵點擊 project/res/layout ,在layout 下 new->Android xml file
格式複製原有main.xml的格式即可,根據上面的代碼(R.layout.newviewxml),這個xml檔案名稱應該為newviewxml.xml。
接下來第二步,在AndroidManifest.xml中添加新Activity的描述
開啟AndroidManifest.xml,切換到Application頁面,在Application Nodes裡,列出了這個程式目前所有的Activity(當然不包括我們現在要添加的),點右邊的Add,
點擊OK,開啟AndroidManifest.xml,加入
- <activity android:name="Name"></activity>
然後是在原有Activity中調用啟動新的Activity
- Intent intent=new Intent();
-
- intent.setClass(Test.this,Name.class);
- //當前的Activity為Test,目標Activity為Name //從下面這行開始是將資料傳給新的Activity,如果不傳資料,只是簡單的跳轉,這幾行代碼請注釋掉
- Bundle bundle=new Bundle()
- bundle.putString("key1","value1");//key1為名,value1為值
- bundle.putString("key2","value2");
- intent.putExtras(bundle);//傳資料結束
- startActivity(intent);
到這裡,新的Activity就被制調用了,如果剛才在原Activity中傳送了資料,用下面的代碼可以在新的Activity中擷取到。
- Bundle bundle=this.getIntent().getExtras();
- String s1=bundle.getString("key1");
- String s2=bundle.getString("key2");
Android入門學習總攻略
Android學習筆記:Activity跳轉
Android開發:Activity之間的傳值
解析Android Widget開發中如何構建Activity類