前言

大部份的Android 都具有實體或虛擬的Back鍵. 因此在處理多頁面應用程式時, 與先前所介紹的iOS Navigation controller 比較起來會簡單許多.

1. 開啟Visual Studio 並新增Android Application 專案並命名為Lab4-MultiScreen

2. 在Layout資料夾中新增Second.axml

在Second.axml 中拖放1個TextView並標示此為第2個Activity

2. 在專案底下新增一個SecondActivity.cs. 在OnCreate事件中撰寫以下程式碼:

1 SetContentView(Resource.Layout.Second);

3. 開啟Activity1.cs, 在class name的地方按滑鼠右鍵=>重構=>重新命名. 將類別名稱改為FirstActivity. 記得在方案總管中的檔名也一併改為FirstActivity.cs

4. 開啟Main.axml, 在畫面中放置1個Button並指定Text屬性值為”Load Second Activity”並將id 的屬性值變更為”@+id/ShowSecond”

5. 開啟FirstActivity.cs, 在OnCreate事件中撰寫以下程式碼:

01 //載入頁面
02
03 SetContentView(Resource.Layout.Main);
04
05 //宣告並取得按鈕物件, 並在按鈕的click事件處理中載入SecondActivity
06
07 Button button = FindViewById< Button >(Resource.Id.showSecond);
08
09 button.Click +=delegate
10
11 {…….按鈕處理函式}

Button的click處理函式中, 我們將使用3種方法來載入SecondActivity.

  • 方法一: 使用內建的StartActivity方法, 程式碼如下:
1 //呼叫其他Activity的第一種方法(隱含的建立Intent)
2
3 StartActivity(typeof(SecondActivity));
  • 方法二: 建立Intent, 然後使用StartActivity載入其他SecondActivity. 程式碼如下:
1 //呼叫其他Activity的第二種方法, 建立Intent, 然後使用StartActivity載入其他Activity
2
3 var second =newIntent(this,typeof(SecondActivity));
4
5 StartActivity(second);
  • 方法三: 建立Intent, 並透過Intent.PutExtra載入Activity並傳入參數. 程式碼如下:
1 //使用Intent.PutExtra載入Activity並傳入參數
2
3 var second =newIntent(this,typeof(SecondActivity));
4
5 second.PutExtra("FirstData","Data from FirstActivity");
6
7 StartActivity(second);

上述的3種方式, 第1個跟第2個是一樣的, 使用第1種方式, 會隱含建立一個Intent物件。

6. 執行專案並檢視結果.

7. 透過上述的第3個方法, 可以像QueryString般傳遞參數到下一個Activity. 現在我們開啟SecondActivity.cs. 透過Intent的GetStringExtra方法來取得參數的值. 在Oncreate方法中撰寫以下程式碼:

01 //載入頁面
02
03 SetContentView(Resource.Layout.Second);
04
05 //宣告並取得TextView物件
06
07 var label = FindViewById<textview>(Resource.Id.screen2Label);
08
09 //透過Intent.GetStringExtra取得從前一個Activity所傳來的訊息
10
11 label.Text = Intent.GetStringExtra("FirstData") ??"Data not available";</textview>

在上述程式碼中, 我們透過Intent的GetStringExtra(“參數名稱”)來取得字串型別的參數. 事實上還可以透過類似的方法取得不同型別的參數值. 如下圖所示:

而??陳述式則是用來判斷是否為Null的方便寫法. 若取出的值為Null則顯示後面的字串.

8. 執行專案並檢視結果, 如下圖所示

結語

在本篇文章中, 我們介紹Android 應用程式在多頁面中的切換, 相較於iOS, Android 對於多頁面的處理較為方便. 另外在Android中也提供Tab控制項在多頁面之間進行切換.

更多相关文章

  1. Android(安卓)TextView使用HTML处理字体样式、显示图片等
  2. Android线程间通信机制——深入理解 Looper、Handler、Message
  3. Android清单AndroidManifest详细说明
  4. Intent的匹配与查找
  5. android OKHttp的基本使用详解
  6. Java事件模型与Android事件模型的比较
  7. android 登陆、提交数据或加载数据时提示页面
  8. 浅谈Java中Collections.sort对List排序的两种方法
  9. Python list sort方法的具体使用

随机推荐

  1. Xamarin Mono Android(安卓)Ios 安装、破
  2. android 进阶自定义控件1
  3. android 让通知不被清除或者点击后不消失
  4. Android(安卓)Action的常用属性
  5. Android中使用NavigationView实现抽屉侧
  6. Android(安卓)之 LogCat Log
  7. layout_weight的讲解
  8. android studio下module 未指定output pa
  9. android 访问移动网络时的wap代理设置
  10. Android随笔之标题栏的去除以及自定义