前言
大部份的Android 都具有實(shí)體或虛擬的Back鍵. 因此在處理多頁面應(yīng)用程序時, 與先前所介紹的iOS Navigation controller 比較起來會簡單許多.
1. 開啟Visual Studio 并新增Android Application 專案并命名為Lab4-MultiScreen

2. 在Layout文件夾中新增Second.axml

在Second.axml 中拖放1個TextView并標(biāo)示此為第2個Activity

2. 在專案底下新增一個SecondActivity.cs. 在OnCreate事件中選寫以下代碼:
1 |
SetContentView(Resource.Layout.Second); |
3. 開啟Activity1.cs, 在class name的地方按滑鼠右鍵=>重構(gòu)=>重新命名. 將類別名稱改為FirstActivity. 記得在方案總覽中的檔名也一并改為FirstActivity.cs

4. 開啟Main.axml, 在畫面中放置1個Button并指定Text屬性值為”Load Second Activity”并將id 的屬性值變更為”@+id/ShowSecond”
5. 開啟FirstActivity.cs, 在OnCreate事件中輸入以下代碼:
03 |
SetContentView(Resource.Layout.Main); |
05 |
//聲明并取得按鈕對象, 并在按鈕的click事件處理中載入SecondActivity |
07 |
Button button = FindViewById< Button >(Resource.Id.showSecond); |
09 |
button.Click += delegate |
Button的click處理函數(shù)中, 我們將使用3種方法來載入SecondActivity.
- 方法一: 使用內(nèi)建的StartActivity方法, 代碼如下:
1 |
//呼叫其他Activity的第一種方法(隱含的建立Intent) |
3 |
StartActivity(typeof(SecondActivity)); |
- 方法二: 建立Intent, 然后使用StartActivity載入其他SecondActivity. 代碼如下:
1 |
//呼叫其他Activity的第二種法, 建立Intent, 然后使用StartActivity載入其他Activity |
3 |
var second = newIntent(this,typeof(SecondActivity)); |
- 方法三: 建立Intent, 并通過Intent.PutExtra載入Activity并傳入?yún)?shù). 代碼如下:
1 |
//使用Intent.PutExtra載入Activity并傳入?yún)?shù) |
3 |
var second = newIntent(this,typeof(SecondActivity)); |
5 |
second.PutExtra("FirstData","Data from FirstActivity"); |
上述的3種方式, 第1個跟第2個是一樣的, 使用第1種方式, 會隱含簡歷一個Intent對象。
6. 執(zhí)行專案并檢視結(jié)果.
7. 通過上述的第3個方法, 可以像QueryString般傳遞參數(shù)到下一個Activity. 現(xiàn)在我們開啟SecondActivity.cs. 通過Intent的GetStringExtra方法來取得參數(shù)的值. 在Oncreate方法中輸入以下代碼:
03 |
SetContentView(Resource.Layout.Second); |
07 |
var label = FindViewById<textview>(Resource.Id.screen2Label); |
09 |
//通過Intent.GetStringExtra取得從前一個Activity所傳來的訊息 |
11 |
label.Text = Intent.GetStringExtra("FirstData") ??"Data not available";</textview> |
在上述代碼中, 我們通過Intent的GetStringExtra(“參數(shù)名稱”)來取得字串型別的參數(shù). 事實(shí)上還可以通過類似的方法取得不同型別的參數(shù)值. 如下圖所示:

而??陳述式則是用來判斷是否為Null的方便寫法. 若取出的值為Null則顯示后面的字串.
8. 執(zhí)行專案并檢視結(jié)果, 如下圖所示

結(jié)語
在本篇文章中, 我們介紹Android 應(yīng)用程序在多頁面中的切換, 相較于iOS, Android 對于多頁面的處理較為方便. 另外在Android中也提供Tab控制項(xiàng)在多頁面之間進(jìn)行切換.
本文轉(zhuǎn)載自
標(biāo)簽:
移動開發(fā)Xamarin
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn