Xml
<?xml version="1.0" encoding="utf-8"?>
< LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal"
>
<Button
android:id="@+id/test1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="test1"
/>
<Button
android:id="@+id/test2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="test2"
/>
< /LinearLayout>
방법1
리스너 바로 등록하는 방법
Java
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViewById(R.id.test1).setOnClickListener(mClickListener);
findViewById(R.id.test2).setOnClickListener(mClickListener);
}
Button.OnClickListener mClickListener = new View.OnClickListener() {
public void onClick(View v) {
switch (v.getId()) {
case R.id.test1:
break;
case R.id.test2:
break; }
};
방법2
Onclick 을 이용한 방법
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn1=(Button)findViewById(R.id.test1);
btn1.setOnClickListener(this);
Button btn2=(Button)findViewById(R.id.test2);
btn2.setOnClickListener(this);
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.test1:
break;
case R.id.test2:
break;
}
}
방법3
객체에 id를 받은다음 바로 리스너로 등록하는 방법
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn1=(Button)findViewById(R.id.test1);
btn1.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
//do some thing
}
});
Button btn2=(Button)findViewById(R.id.test2);
btn2.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
//do some thing
}
});
}