在Android 中,
要从一个Activity 中呼叫另一个Activity,
就必须使用 Intent 物件,
请参考以下范例(这里就不列出Layout XML 档案内容了) :
来源Activity 程式码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
public class helloWorld extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 设定Layout 为main.xml setContentView( R.layout.main ); // 按钮物件 Button b1 = (Button)findViewById( R.id.button1 ); // Button 的OnClick Trigger b1.setOnClickListener( new OnClickListener(){ public void onClick(View v) { // 指定要呼叫的Activity Class Intent newAct = new Intent() ; newAct. setClass ( helloWorld .this , helloWorld2 .class ); // 呼叫新的Activity Class startActivity ( newAct ); // 结束原先的Activity Class helloWorld .this.finish() ; } }); } } |
目的Activity 程式码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 设定Layout 为main2.xml setContentView( R.layout.main2 ); // 按钮物件 Button b1 = (Button)findViewById( R.id.button1 ); // Button 的OnClick Trigger b1.setOnClickListener( new OnClickListener(){ public void onClick(View v) { // 指定要呼叫的Activity Class Intent newAct = new Intent() ; newAct. setClass ( helloWorld2 .this , helloWorld .class ); // 呼叫新的Activity Class startActivity ( newAct ); // 结束原先的Activity Class helloWorld2 .this.finish() ; } }); } } |
AndroidManifest.xml 要加入第二个Activity,不然呼叫时会有问题: