戌印-INUJIRUSHI- (Androidあれこれ)

Androidのプログラミングをメインにしてます。記事に貼られたソースコードはダブルクリックすることで行番号をはずしてコピーすることができます。

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
08

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

レイアウトXMLで onClick を設定する

以前『ウィジェットにイベントを設定』で Java クラスから onClick イベントを設定する方法を書きました。
今回はレイアウトXMLからの設定方法について。

レイアウトXMLからクリックイベントを設定するには android:onClick="[メソッド名]" を使用します。

android:onClick="[メソッド名]" から呼ぶメソッドは以下の条件を満たす必要があります。
メソッドは呼び出した Activity クラスに実装する。
・Fragment から呼び出す場合もメソッドは Activity クラスに実装する。
メソッドは public でなければならない。static 可。
引数は View のみ。引数なし、または、他の引数を設定することはできない。

条件を満たさない場合、クリック時に java.lang.NoSuchMethodException が発生します。

以下、サンプルコード。
activity_test.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="testClick"
android:text="click" />
</LinearLayout>

TestActivity.java
package jp.inujirushi.android.sample;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

public class TestActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
}

public void testClick(View view) {
Toast.makeText(this, "test", Toast.LENGTH_LONG).show();
}
}

ウィジェットにイベントを設定』から1年8ヶ月も経っているからすごい今更の内容…
スポンサーサイト

Comments

Leave a Comment


Body
プロフィール

とむ・やむくん

Author:とむ・やむくん
管理人について

Windows 7 / 64bit
Eclipse 4.2 Juno (日本語パッチ済)

スポンサーサイト
最新トラックバック
検索フォーム
ブロとも申請フォーム
QRコード
QR
Twitter
2013/01/04 19:00 カウント開始

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。