「Xamarin.Androidでレイアウトにイベントを書く」の版間の差分
Administrator (トーク | 投稿記録) |
Administrator (トーク | 投稿記録) 編集の要約なし |
||
| (同じ利用者による、間の1版が非表示) | |||
| 1行目: | 1行目: | ||
Xamarin. | Xamarin.Androidのサンプルを[[ググる]]と、以下のような[[ラムダ式]]で書くサンプルをよく見かける。 | ||
<source lang="csharp"> | <source lang="csharp"> | ||
var button = FindViewById<Button> (Resource.Id.button1); | var button = FindViewById<Button> (Resource.Id.button1); | ||
2020年4月3日 (金) 08:17時点における最新版
Xamarin.Androidのサンプルをググると、以下のようなラムダ式で書くサンプルをよく見かける。
var button = FindViewById<Button> (Resource.Id.button1);
button.Click += (s,e) => {
Console.WriteLine();
};
一方、Android Studioの人たちのサンプルはほぼレイアウトでイベント設定をしている。昔ながらのUI編集画面でイベント発生時の飛び先メソッドを設定して、ソースコードにそのイベントを受信するメソッドを用意する方式だ。
これをXamarin.Androidでやろうとすると一手間かかる。
参照を追加する[編集 | ソースを編集]
参照に「Mono.Android.Export」を追加する。これ重要。

レイアウトでイベントを設定する[編集 | ソースを編集]
レイアウトを開き、Buttonを貼り、onClickイベントを送信するメソッドを設定する。
<Button
android:onClick="onButtonClicked"
/>
アクティビティでイベントを受ける[編集 | ソースを編集]
アクティビティにonClickイベントの受信するメソッドを作る。
[Java.Interop.Export(nameof(onButtonClicked))]
public void onButtonClicked(View button)
{
Console.WriteLine("click");
}
おわり