C# で Android開発
7.2 まで。
これ以降もJavaとの差でちょいちょい躓きそうな確かな予感。
Androidアプリ開発パーフェクトマスター[最新版] (Perfect Master)
- 作者: 金城俊哉
- 出版社/メーカー: 秀和システム
- 発売日: 2016/11/29
- メディア: 単行本
- この商品を含むブログを見る
7.2.2 ボタンタップでメッセージを表示するアプリを作る
using Android.App; using Android.Widget; using Android.OS; namespace ButtonTap { [Activity(Label = "ButtonTap", MainLauncher = true, Icon = "@drawable/icon")] public class MainActivity : Activity { protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView (Resource.Layout.Main); var tv = FindViewById<TextView>(Resource.Id.textView); var btn = FindViewById<Button>(Resource.Id.button); btn.Click += (o, e) => { tv.Text = "Button Pushed"; }; } } }
7.2.5 レイアウトファイルにメソッド呼出を埋め込む
一つ一つ Stack Overflow だよりになってる・・・。
参照で Java.interop と Mono.Android.Export が必要。
コレやるくらいなら 7.2.2 形式でやった方が絶対に良いと思う。
using Android.App; using Android.Widget; using Android.OS; using Android.Views; using Java.Interop; namespace ButtonTap { [Activity(Label = "ButtonTap", MainLauncher = true, Icon = "@drawable/icon")] public class MainActivity : Activity { protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView (Resource.Layout.Main); var tv = FindViewById<TextView>(Resource.Id.textView); var btn = FindViewById<Button>(Resource.Id.button); btn.Click += (o, e) => { tv.Text = "Button Pushed"; }; } [Export("OnClickMsg")] public void OnClickMsg(View v) { var tv = FindViewById<TextView>(Resource.Id.textView); tv.Text = "Button Pushed Part2"; } } }
<Button android:onClick="OnClickMsg" android:text="@string/Button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/buttonXml" />