一個(gè)Activity就相當(dāng)于程序的一頁(yè),如果想要跳轉(zhuǎn)到新的一頁(yè),就必須插入新的Activity。 插入新的Activity有三步驟: 1、建立新的Activity程序代碼,這里以”new.class”為例 2、在AndroidManifest.xml中添加新Activity的描述 3、在原有Activity中調(diào)用啟動(dòng)新的Activity
下面一步一步來(lái),首先建立新的Activity程序代碼: 在Eclipse左側(cè)的Package Explorer中的src下的package上點(diǎn)右鍵,New一個(gè)Class。有一點(diǎn)要注意,在彈出的對(duì)話框中,Superclass要選擇Activity,Name必須大寫(xiě)(這是JAVA的規(guī)定,必須這樣,否則無(wú)法建立)

在新建的Name.class里插入代碼:
public class Name extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.new); } }
然后建立相應(yīng)的描述UI的xml文件,格式復(fù)制原有main.xml的格式即可,根據(jù)上面的代碼(R.layout.new),這個(gè)xml文件名應(yīng)該為new.xml。
接下來(lái)第二步,在AndroidManifest.xml中添加新Activity的描述 打開(kāi)AndroidManifest.xml,切換到Application頁(yè)面,在Application Nodes里,列出了這個(gè)程序目前所有的Activity(當(dāng)然不包括我們現(xiàn)在要添加的),點(diǎn)右邊的Add,如圖:

點(diǎn)擊OK,打開(kāi)AndroidManifest.xml,加入代碼
<activity android:name="Name"></activity>
然后是在原有Activity中調(diào)用啟動(dòng)新的Activity
Intent intent=new Intent(); intent.setClass(Test.this,Name.class);//當(dāng)前的Activity為T(mén)est,目標(biāo)Activity為Name //從下面這行開(kāi)始是將數(shù)據(jù)傳給新的Activity,如果不傳數(shù)據(jù),只是簡(jiǎn)單的跳轉(zhuǎn),這幾行代碼請(qǐng)注釋掉 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");
備注:創(chuàng)建時(shí)如果找不到父類(lèi)就自己復(fù)制粘貼來(lái)一個(gè)父類(lèi)讓其繼承android.app.Activity
|