android:onClick Layoutファイルにメソッドが記載できる(SDK1.6 新機能)
このブログは毎日最低一記事更新する事を一つの目標として、自分で自分を縛っています。(1回更新を怠るとそのまま更新せずに放置しそうなので)。このためある程度記事を書きためています。最近はAndroid関連のニュースが多く、書きためた記事の中で、時間軸のあまりない記事は、後回しになってしまうのですが(プログラム関連記事に多い)この記事もかなり前に書いたものです。
本家Developerブログの方で、「UI framework changes in Android 1.6」という記事がでていますが、その中の一部Easier click listenersの省と同じ内容です。あちらの方が詳しいので日本語でざくっと読んで、本家ブログを見るのがお勧めです。
Android 1.6 Version Notesに、
New XML attribute android:onClick to specify a View’s View.OnClickListener from a layout file.
という記載があり、レイアウトファイルに、直接OnClickListerを呼べるようになったということなので早速試してみました。
レイアウトファイル
main.xmlファイル
android:onClickに、ボタンを押したときにfromLayoutFileEvent(名前は任意)というメソッドを呼ぶのを指定
<Button android:text="@+id/Button01"android:id="@+id/Button01"android:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="fromLayoutFileEvent"></Button>
Activity
先ほど指定た、fromLayoutFileEventを、Activityに記載
public class Main extends Activity{@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);}public void fromLayoutFileEvent(View view){Log.v(TAG,"fromLayoutFile");}
解説
以上で終了です。ボタンを押すと、ログが出力されます。
今までView.OnClickListenerの記載は、いつも書く事が同じで退屈な処理でした。これで少しはソースコードがすっきりするのかなとも思いますが、逆に後からみてこのメソッドどこから呼ばれているんだ??といった事にもなりかねず、きちんとしたルール化をして使っていくのが良いと思います。
うーん、VBのようなGUIでアプリを作るような事を考えて拡張でしょうか?今後に期待です。
ブログ内の関連する記事
- Android-sdk-windows-1.6_r1.zipのサイズが違う
- Android 1.6 のAndroid Market 説明公式動画
- Donutsは、Android 1.6で決定
- 画像付きボタン
コメント
コメントを投稿