Android開發(fā)中插入新的Activity
一個Activity就相當(dāng)于程序的一頁,如果想要跳轉(zhuǎn)到新的一頁,就必須插入新的Activity。
插入新的Activity有三步驟:
1、建立新的Activity程序代碼,這里以”new.class”為例
2、在AndroidManifest.xml中添加新Activity的描述
3、在原有Activity中調(diào)用啟動新的Activity
下面一步一步來,首先建立新的Activity程序代碼:
在Eclipse左側(cè)的Package Explorer中的src下的package上點右鍵,New一個Class。有一點要注意,在彈出的對話框中,Superclass要選擇Activity,Name必須大寫(這是JAVA的規(guī)定,必須這樣,否則無法建立)
,在新建的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);
- }
- }
然后建立相應(yīng)的描述UI的xml文件,
右鍵點擊 project/res/layout ,在layout 下 new->Android xml file
格式復(fù)制原有main.xml的格式即可,根據(jù)上面的代碼(R.layout.newviewxml),這個xml文件名應(yīng)該為newviewxml.xml。
接下來第二步,在AndroidManifest.xml中添加新Activity的描述
打開AndroidManifest.xml,切換到Application頁面,在Application Nodes里,列出了這個程序目前所有的Activity(當(dāng)然不包括我們現(xiàn)在要添加的),點右邊的Add,如圖:
點擊OK,打開AndroidManifest.xml,加入
- <activity android:name="Name"></activity>
然后是在原有Activity中調(diào)用啟動新的Activity
- Intent intent=new Intent();
- intent.setClass(Test.this,Name.class);
- //當(dāng)前的Activity為Test,目標(biāo)Activity為Name //從下面這行開始是將數(shù)據(jù)傳給新的Activity,如果不傳數(shù)據(jù),只是簡單的跳轉(zhuǎn),這幾行代碼請注釋掉
- Bundle bundle=new Bundle()
- bundle.putString("key1","value1");//key1為名,value1為值
- bundle.putString("key2","value2");
- intent.putExtras(bundle);//傳數(shù)據(jù)結(jié)束
- startActivity(intent);
到這里,新的Activity就被制調(diào)用了,如果剛才在原Activity中傳送了數(shù)據(jù),用下面的代碼可以在新的Activity中獲取到。
- Bundle bundle=this.getIntent().getExtras();
- String s1=bundle.getString("key1");
- String s2=bundle.getString("key2");
【編輯推薦】
Android學(xué)習(xí)筆記:Activity跳轉(zhuǎn)
解析Android Widget開發(fā)中如何構(gòu)建Activity類