基礎之activity跳轉,activity跳轉
今天解決的問題是 activity的跳轉。
目前我學習到的跳轉的方式有2種
1. 用 setContentView() 方法
2. 用 Intent 對象
方法一:setContentView()
該方法 不要求 目標activity 在 AndroidManifest.xml 檔案中配置 activity 節點,也可以不要求有 .java 類檔案。
如果跳轉後,按返回鍵,不響應
代碼如下,實現了 activity_main 和 activity_2 的來回切換
public class MainActivity extends Activity {//StringBuffer mes=new StringBuffer();//DisplayMetrics dm=null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button btn2=(Button)findViewById(R.id.main_btn_2);btn2.setOnClickListener(new Button.OnClickListener() {@Overridepublic void onClick(View arg0) {toActivity_2();}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}public void toActivity_2(){setContentView(R.layout.activity_2); //跳轉到 目標activity_2Button btn=(Button)findViewById(R.id.act2_btn_1); //擷取activity_2 上的按鈕act2_btn_1btn.setOnClickListener(new OnClickListener() { //按鈕事件監聽@Overridepublic void onClick(View arg0) { // 返回主介面activity_maintoActivity_main();}});}public void toActivity_main(){setContentView(R.layout.activity_main); //跳轉到 目標activity_mainButton btn=(Button)findViewById(R.id.main_btn_2); //擷取activity_main上的按鈕main_btn_2btn.setOnClickListener(new OnClickListener() { //按鈕事件監聽@Overridepublic void onClick(View arg0) { // 跳轉到 activity_2toActivity_2();}});}}
方法二:Intent
layout 中activity 需要在 AndroidManifest.xml 檔案中配置 activity 節點,需要有 對應的 .java 類
每一次跳轉都會被記錄到返回鍵,所以返回鍵識別這個方法的跳轉
activity_main 頁面中的代碼
public class MainActivity extends Activity {//StringBuffer mes=new StringBuffer();//DisplayMetrics dm=null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button btn2=(Button)findViewById(R.id.main_btn_2);btn2.setOnClickListener(new Button.OnClickListener() {@Overridepublic void onClick(View arg0) {intentToActivity_2();}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}public void intentToActivity_2(){Intent intent=new Intent();intent.setClass(MainActivity.this, activity_2.class);startActivity(intent);}}
activity_2 頁面中的代碼
public class activity_2 extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_2);Button btn=(Button)findViewById(R.id.act2_btn_1);btn.setOnClickListener(new Button.OnClickListener() {@Overridepublic void onClick(View arg0) {Intent t=new Intent();t.setClass(activity_2.this,MainActivity.class);startActivity(t);}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// TODO Auto-generated method stubreturn super.onCreateOptionsMenu(menu);}}
以上就介紹了2種跳轉方式,其中的好壞,暫時還說不上來,主要看應用情境。寫的不好,但希望對像我剛學android的有點協助!