C#開發Android App--04--改變textView上面的文字
阿新 • • 發佈:2020-12-29
建立一個新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); } } }
執行成功無誤。