1. 程式人生 > 其它 >C#開發Android App--04--改變textView上面的文字

C#開發Android App--04--改變textView上面的文字

技術標籤:C#開發工具C#

建立一個新C#android專案

選擇“BlankApp”

在生成的介面上,刪除原來的layout,從工具箱重新選擇一個LinearLayout

再選擇一個textView,id為預設,即textView1

再選擇一個Button,id為預設,即button1

可以適當調整他們的大小

執行,效果為:

下面,我們要實現功能,點選按鈕時,textView控制元件上面顯示HelloWorld

這些都要在MainActivity.cs裡面編寫程式碼

目前的程式碼為:

using Android.App;
using Android.OS;
using Android.Support.V7.App;
using Android.Runtime;
using Android.Widget;

namespace HelloWorld
{
    [Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
    public class MainActivity : AppCompatActivity
    {
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.activity_main);
        }
        public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults)
        {
            Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);

            base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
        }
    }
}

需要做的工作是:

1、獲取對xml中定義的textView1和button1的控制;

2、為button1新增click事件

3、在事件中改變textView的text屬性

程式碼如下:

using Android.App;
using Android.OS;
using Android.Support.V7.App;
using Android.Runtime;
using Android.Widget;

namespace HelloWorld
{
    [Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
    public class MainActivity : AppCompatActivity
    {
        TextView tv;
        Button btn;
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.activity_main);
            tv = FindViewById<TextView>(Resource.Id.textView1);
            btn = FindViewById<Button>(Resource.Id.button1);
            btn.Click += (sender, e) => {
                tv.Text = "Hello World";
            };
        }
        public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults)
        {
            Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);

            base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
        }
    }
}

執行成功無誤。