方法一:用implements onClickListener实现
![ContractedBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
package
com.listen;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class EventListen1 extends Activity implements OnClickListener { // step2实现监听
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout.main);
// step1,获取Button的id,设置监听
// 获取button01的id,并且设置监听
Button button01 = (Button)findViewById(R.id.button01);
button01.setOnClickListener( this );
// 获取button02的id,并且设置监听,与button01各自监听各自的
Button button02 = (Button)findViewById(R.id.button02);
button02.setOnClickListener( this );
// 获取可点击的textview的id,并且设置监听,与button01,02各自监听各自的,前面不用声明了
TextView textview = (TextView)findViewById(R.id.textview);
textview.setOnClickListener( this );
}
// step3,添加onClick方法,当监听多个view的时候,用if判断是监听哪个view
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (v.getId() == (R.id.textview)){
Log.v( " click.. " , " textview " );
}
if (v.getId() == (R.id.button01)){
Log.v( " click.. " , " button01 " );
}
if (v.getId() == (R.id.button02)){
Log.v( " click.. " , " button02 " );
}
}
}
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class EventListen1 extends Activity implements OnClickListener { // step2实现监听
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout.main);
// step1,获取Button的id,设置监听
// 获取button01的id,并且设置监听
Button button01 = (Button)findViewById(R.id.button01);
button01.setOnClickListener( this );
// 获取button02的id,并且设置监听,与button01各自监听各自的
Button button02 = (Button)findViewById(R.id.button02);
button02.setOnClickListener( this );
// 获取可点击的textview的id,并且设置监听,与button01,02各自监听各自的,前面不用声明了
TextView textview = (TextView)findViewById(R.id.textview);
textview.setOnClickListener( this );
}
// step3,添加onClick方法,当监听多个view的时候,用if判断是监听哪个view
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (v.getId() == (R.id.textview)){
Log.v( " click.. " , " textview " );
}
if (v.getId() == (R.id.button01)){
Log.v( " click.. " , " button01 " );
}
if (v.getId() == (R.id.button02)){
Log.v( " click.. " , " button02 " );
}
}
}
//xml代码如下:
![ContractedBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
<?
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"
>
< TextView
android:id ="@+id/textview"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:text ="@string/hello"
/>
< Button
android:id ="@+id/button01"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:text ="点1实现监听"
/>
< Button
android:id ="@+id/button02"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:text ="点2实现监听"
/>
</ LinearLayout >
< LinearLayout xmlns:android ="http://schemas.android.com/apk/res/android"
android:orientation ="vertical"
android:layout_width ="fill_parent"
android:layout_height ="fill_parent"
>
< TextView
android:id ="@+id/textview"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:text ="@string/hello"
/>
< Button
android:id ="@+id/button01"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:text ="点1实现监听"
/>
< Button
android:id ="@+id/button02"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:text ="点2实现监听"
/>
</ LinearLayout >
方法二:在xml代码中设置属性,onClick,OnClickButton实现
java代码如下:
![ContractedBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
package
com.listen;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class EventListen1 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void onClickButton(View v) {
// TODO Auto-generated method stub
if (v.getId() == (R.id.textview)){
Log.v( " click.. " , " textview " );
}
if (v.getId() == (R.id.button01)){
Log.v( " click.. " , " button01 " );
}
if (v.getId() == (R.id.button02)){
Log.v( " click.. " , " button02 " );
}
}
}
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class EventListen1 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void onClickButton(View v) {
// TODO Auto-generated method stub
if (v.getId() == (R.id.textview)){
Log.v( " click.. " , " textview " );
}
if (v.getId() == (R.id.button01)){
Log.v( " click.. " , " button01 " );
}
if (v.getId() == (R.id.button02)){
Log.v( " click.. " , " button02 " );
}
}
}
xml如下:
![ContractedBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
<?
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"
>
< TextView
android:id ="@+id/textview"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:onClick ="onClickButton"
android:clickable ="true"
android:text ="@string/hello"
/>
< Button
android:id ="@+id/button01"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:onClick ="onClickButton"
android:text ="点1实现监听"
/>
< Button
android:id ="@+id/button02"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:onClick ="onClickButton"
android:text ="点2实现监听"
/>
</ LinearLayout >
< LinearLayout xmlns:android ="http://schemas.android.com/apk/res/android"
android:orientation ="vertical"
android:layout_width ="fill_parent"
android:layout_height ="fill_parent"
>
< TextView
android:id ="@+id/textview"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:onClick ="onClickButton"
android:clickable ="true"
android:text ="@string/hello"
/>
< Button
android:id ="@+id/button01"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:onClick ="onClickButton"
android:text ="点1实现监听"
/>
< Button
android:id ="@+id/button02"
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:onClick ="onClickButton"
android:text ="点2实现监听"
/>
</ LinearLayout >
实现结果同上。