方法一:用implements onClickListener实现

代码
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");
}
}
}

//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"
>
<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代码如下:

代码
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");
}
}
}

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"
>
<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>

实现结果同上。

posted on 2010-05-13 11:40  snowdrop  阅读(3381)  评论(0编辑  收藏  举报