实现两个Button,一个TextView的点击

方法一:用implements onClickListener实现

ContractedBlock.gif ExpandedBlockStart.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 " );
}
}
}

//xml代码如下:

ContractedBlock.gif ExpandedBlockStart.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 >

2010051311371095.jpg

方法二:在xml代码中设置属性,onClick,OnClickButton实现

java代码如下:

ContractedBlock.gif ExpandedBlockStart.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 " );
}
}
}

xml如下:

ContractedBlock.gif ExpandedBlockStart.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 >

实现结果同上。

转载于:https://www.cnblogs.com/snowdrop/articles/1734325.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值