Android開發中插入新的Activity
一個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 Widget開發中如何構建Activity類