
添加这两个函数,别人就能用set方法给你传进来listener,而你可以在onTouch方法里通过判断aciton_down action_move action_up 通过时间来判断是长按还是单击。
绑定Android点击事件有三种方式:一、匿名内部类
1、通过资源ID找到对应的Android控件,比如R.id.button1
Button button1 = (Button)findViewById(R.id.button1)
2、调用setOnClickListener方法,将点击事件与之绑定
button1.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
//这里放点击事件的逻辑
}
})
二、XML申明式
1、在对应的布局文件中添加一个按钮,即Button
2、在Button中添加 onClick="foo()" 属性
3、在对应的Activity中编写对应的foo()方法,如下:
public void foo(View v){
//这里放点击事件的逻辑
//这里的 " v " 是指当前组件,就是你点击的这个按钮
}
三、统一处理式
1、使对应的Activity类实现View.OnClickListener 接口,也就是这样写:
public class xxActivity implement View.OnClickListener {
2、在方法中重载onClick(View v)方法
public void onClick(View v){
3、通过 v.getId() 来判断,来源是哪一个按钮,这里可以放一个switch开关语句,来进行逻辑的分工。
}
}
纯手打,希望上文能对你起到一定的辅助作用。
Android studio 添加点击监听事件有三种方法:
一.匿名内部类
1.先找到那个控件(初始化)
private Button bt1 //onCreate方法外
bt1 = (Button)findViewById(R.id.button1)
2.设置事件监听器
bt1.setOnClickListener(new OnClickListener(){
public void onClick(View v){
System.out.println("我的按钮被点击了")
}
})
二.外部类监听点击事件
1.先找到那个控件(初始化)
private Button bt2 //onCreate方法外
bt2 = (Button)findViewById(R.id.button2)
2.设置事件监听器
bt2.setOnClickListener(new MyOnClickListener(){
public void onClick(View v){
super.onClick(v) //执行父类的onClick
System.out.println("我的按钮被点击了") //执行子类的onClick
}
})
3.在另一个类中写父类的onClick方法
class MyOnClickListener implements OnClickListener{
public void onClick(View v){
v.setAlpha(0.5) //设置透明的0.5
}
}
//OnClickListener是一个接口
4.点击按钮后会执行服父类的onClick方法和子类的onClick方法,可以让多个按钮都执行相同的父类onClick方法
三.通过实现一个接口的方式实现监听事件
1.先找到那个控件(初始化)
private Button bt3 //onCreate方法外
bt3 = (Button)findViewById(R.id.button3)
2.设置事件监听器
bt3.setOnClickListener(this)
3.让MainActivity.java类实现一个接口
public class MainActivity extends Activity implements OnClickListener{
}
4.在onCreate方法外实现这个接口的要求实现的方法
public void onClick(View v){
System.out.println("第三种方法实现")
}
扩展资料:
如果按钮绑了监听器
按钮点击是通过OnClickListener来实现的
大致的流程应该是这样的
public class MainActivity extends Activity
{
private Button loginButton
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//创建监听器对象
loginButton = (Button) findViewById(R.id.login_btn)
OnClickListener listener = new ButtonClickListener()
loginButton.setOnClickListener(listener)
}
/**
* 监听器类
*/
class ButtonClickListener implements OnClickListener
{
@Override
public void onClick(View v)
{
switch (v.getId())
{
case R.id.login_btn:
//点击后的逻辑处理
break
}
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)