ボタンなどのビューは、コードで記述することもできますが、
やはりres/layout/xxx.xmlで作成するのが一般的です。
xmlで作成したビューに、はアクティビティのonCreateでリスナーを追加して、クリックイベントを受信できるようにするのがよいでしょう。
xml
res/layout/xxx.xmlで作成したビューには、アクティビティからアクセスできるようにidを付ける必要があります。
<?xml version="1.0" encoding="utf-8"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/txtView1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
アクティビティ
xmlを編集して保存すると、このidはgen/xxx/R.javaに自動で登録されます。
findViewByIdを使って、R.javaにあるidを通してビューにアクセスできるようになります。
クリックイベントの実際の処理は、OnClickListenerインターフェイスをimplementsして実装します。
サンプルでは、複数ボタンがあった場合に、一つのリスナーで処理できるように、tagに名前を設定しています。
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.xxx); ・・・・・・・ Button btnTest = (Button)findViewById(R.id.txtView1); btnQuest.setTag("btnTest"); btnQuest.setOnClickListener(new btnClickListener()); ・・・・・・・ } class btnClickListener implements OnClickListener{ public void onClick(View v) { String btnName = (String)v.getTag(); if(btnName.equals("btnTest")){ //ここにボタンクリック時の処理 }else if(btnName.equals("btnTest2")){ //ここにボタンクリック時の処理 } } }