BloggerAds

2013年6月26日 星期三

[Android] Android Button切換頁面

難度:★☆☆☆☆☆☆☆☆☆ 10%

切換頁面是寫Android之基本且不可或缺的動作,使用按鈕監聽OnClickListener監聽,在裡面透過Intent切換Activity,之後必須在AndroidManifest.xml 註冊Activity

MainActivity.java


package com.learn;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {

private Button next;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

next = (Button) findViewById(R.id.button1);
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();   //intent實體化
intent.setClass(MainActivity.this, page2.class);
startActivity(intent);    //startActivity觸發換頁
finish();   //換頁後結束此頁
}
});
}

}

也可以寫成
Intent intent = new Intent(MainActivity.this, page2.class); 
startActivity(intent);  //startActivity觸發換頁
finish();  //換頁後結束此頁


page2.java


package com.learn;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class page2 extends Activity {
private Button back;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.page2);

back = (Button) findViewById(R.id.button1);
back.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(page2.this, MainActivity.class);
startActivity(intent);
finish();
}
});
}
}

最後在 AndroidManifest.xml ---->下面選項Application---->Add選擇Activity----->
右邊Name選擇Activity名字
效果圖


相關文章: 

[每日一學] Android 按鈕按下、彈起狀態及簡單應用

10 則留言:

  1. 為什麼我把程式碼 放上去
    這段會顯是錯誤 不好意思 新手 不太會
    麻煩下
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.page2);


    setContentView(R.layout.page2); 這段出現x

    感謝

    回覆刪除
    回覆
    1. setContentView(R.layout.page2); 這段意思是說你連接的XML布局

      page2 是我範例XML名稱,要改成你XML的名稱才對歐!!

      刪除
  2. 不好意思 可以跟你索取這個程式碼嗎
    我剛試了一下還是不行

    回覆刪除
    回覆
    1. 可以,有問題歡迎提出~~

      刪除
    2. 我想要整個程式碼
      我的EMAIL是
      derupye@gmail.com

      真的很不好意思 謝謝你

      刪除
    3. 上面都是我全部的程式碼,至於XML第一個頁面(activity_main.xml)跟第二個頁面(page2)都是各放一個按鈕,讓他做切換。

      你目前setContentView(R.layout.page2);改成自己的名稱也是XX?

      刪除
    4. 你貼上你的代碼,讓我看看

      刪除
  3. 不好意思
    我照你的步驟做了也有在AndroidManifest.xml加入我的Activity
    但卻在模擬器run
    跑出unfortunately ooxx has stopped.
    請問你知道這是什麼原因嗎?該如何解決 謝謝


    回覆刪除
    回覆
    1. http://stackoverflow.com/questions/17605403/android-project-giving-error-unfortunately-the-app-has-stopped

      刪除
  4. 謝謝教學 我終於可以跳頁了^^
    我想請問相關問題
    我想新增一筆資料 新增後資料顯示(listview)至下一頁
    那我按下新增觸發紐後該怎麼做呢 謝謝?
    可以以mail的方式與你聯繫嗎?我有程式碼想跟你請教
    謝謝

    回覆刪除