android中每個activity通常描述了一個螢幕上的所有畫面(視窗層級的activity除外),因此通常手機螢幕兩個介面(準確些說是整個螢幕)之間的切換就涉及到了activity的切換.
假定有兩個activity,分別是Activity01和Activity02,現在Activity01頁面中有一個按鈕,點下之後會切換到Activity02.並且在Activity切換時,Activity01給Activity02傳遞了一個參數. (intent可以在切換Activity時使用,且能傳遞資料.)
怎麼做呢?大體思路為:
1.在Activity01中設定一個可觸發的空間,並添加一個觸發器
2.在Activity01的觸發器添加listener
3.在listener的介面實現中,設定一個Intent,讓這個Intent能夠將Activity01和Activity02綁定起來,並且通過putExtra將要傳輸的值放到Intent對象中儲存
3.listener介面實現結尾,通過Activity01啟動調用這個Intent對象,通過調用來切換到Activity02
4.在Activity02中,使用getIntent來擷取環境切換中使得自己啟動了的那個Intent對象執行個體
5.通過擷取到的intent對象執行個體,使用起getStringExtra來擷取先前putExtra的值.
當然,後面如果對Intent更加瞭解時,就需要按實際情況挑選更合適的儲存資料及擷取資料的函數了.
以下是實現的示範:
最後附上關鍵區段代碼:
Activity01中:
button.setOnClickListener(new Button.OnClickListener() { //更準確點應該是View.OnClickListener public void onClick(View v) { /* 建立一個Intent對象 */ Intent intent = new Intent(); intent.putExtra("name","LeiPei"); /* 指定intent要啟動的類 */ intent.setClass(Activity01.this, Activity02.class); /* 啟動一個新的Activity */ Activity01.this.startActivity(intent); /* 關閉當前的Activity */ Activity01.this.finish(); }});
Activity02中:
String name=intent.getStringExtra("name"); textview2.setText("activity01傳過來的值為:"+name);