「Xamarin.Androidでレイアウトにイベントを書く」の版間の差分
ナビゲーションに移動
検索に移動
Administrator (トーク | 投稿記録) (ページの作成:「 Xamarin.Androidのサンプルをググると、 以下のようなレイアウトにあるイベント設定を使わずにラムダ式で書くサンプルをよく見…」) |
Administrator (トーク | 投稿記録) |
||
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); | ||
9行目: | 8行目: | ||
</source> | </source> | ||
− | 一方、[[Android Studio]] | + | |
− | + | 一方、[[Android Studio]]の人たちのサンプルはほぼレイアウトでイベント設定をしている。昔ながらのUI編集画面でイベント発生時の飛び先メソッドを設定して、[[ソースコード]]にそのイベントを受信するメソッドを用意する方式だ。 | |
これをXamarin.Androidでやろうとすると一手間かかる。 | これをXamarin.Androidでやろうとすると一手間かかる。 | ||
− | == 参照を追加する == | + | ==参照を追加する== |
− | 参照に「Mono.Android. | + | 参照に「Mono.Android.Export」を追加する。これ重要。 |
+ | [[ファイル:Xamarin.Android-Layout-Event.png|なし|サムネイル|640x640ピクセル]] | ||
+ | <br /> | ||
− | == レイアウトでイベントを設定する == | + | ==レイアウトでイベントを設定する== |
− | + | レイアウトを開き、Buttonを貼り、onClickイベントを送信するメソッドを設定する。 | |
<source lang="xml"> | <source lang="xml"> | ||
<Button | <Button | ||
25行目: | 26行目: | ||
</source> | </source> | ||
− | == アクティビティでイベントを受ける == | + | ==アクティビティでイベントを受ける== |
アクティビティにonClickイベントの受信するメソッドを作る。 | アクティビティにonClickイベントの受信するメソッドを作る。 | ||
<source lang="csharp"> | <source lang="csharp"> | ||
35行目: | 36行目: | ||
</source> | </source> | ||
− | == 関連項目 == | + | |
+ | おわり | ||
+ | <br /> | ||
+ | ==関連項目== | ||
[[category: Xamarin.Android]] | [[category: Xamarin.Android]] |
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");
}
おわり