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 android:name=".(Activity的名字)"></activity>
讓系統啟動時認識到有這個activity存在,才能正常執行。

沒有留言:

張貼留言