2011年5月16日 星期一

切換Activity

1.目標:按下按鈕後切換到另一個Activity
2.XML設計:

    (1)a.xml裡有按鈕b1,
    (2)b.xml裡有按鈕b2,
3.實作:
a.xml
public class a extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.a);//載入a.xml

    Button b1 = (Button) findViewById(R.id.button1);//宣告按鈕b1
    b1.setOnClickListener(new Button.OnClickListener()//於b1設定點擊監聽
    {
      public void onClick(View v)//設定click事件
      {
        Intent intent1 = new Intent(a.this,b.class);
        //透過intent呼叫b
       startActivity(intent1);//執行activity
      }
    });
 }

}

b.xml

public class b extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.b);//載入b.xml

        Button b2 = (Button) findViewById(R.id.button2);//宣告按鈕b2
        b2.setOnClickListener(new Button.OnClickListener()//於b2設定點擊監聽
        {
          public void onClick(View v)//設定click事件
          {
           finish();//關閉此activity
          //因為呼叫activity算是開啟一個form,若在此也使用呼叫activity來切回去的話,會變成現存兩個a的狀況,所以只用finish結束掉就好了。
          //當然若a那邊也設定執行b後finish就沒有這個問題。
          }
        });
    }    
}


至於建立新的activity時,一定要在AndroidManifest.xml內加上

讓系統啟動時認識到有這個activity存在,才能正常執行。

沒有留言:

張貼留言