安卓设置按钮监听的四种方式

这里的布局文件就很简单。只是一个简单的按钮。ID为button1。

第一种:

1.找到按钮的Id.

Button button= (Button) findViewById(R.id.button1);
button.setOnClickListener(this);
但this指的是当前的activity,会报错。ALT+enter键实现View.OnClickListener接口。会自动实现click方法。源码如下:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.clicklayout);
Button button= (Button) findViewById(R.id.button1);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"@@@@@@@@@",Toast.LENGTH_LONG).show();
}
}
第二种:
同样需要找到按钮的Id
Button button= (Button) findViewById(R.id.button1);
利用button设置监听,并实现onclick方法。
public class MainActivity extends AppCompatActivity  {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.clicklayout);
Button button= (Button) findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"@@@@@@@@@",Toast.LENGTH_LONG).show();
}
});
}
}
第三种:
这种方法要通过布局文件来实现。在<Button 内容/>中添加android:οnclick="click123"。click123可任意设定,是要实现的方法名。
然后在Mainactivity中实现click123方法。
public class MainActivity extends AppCompatActivity  {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.clicklayout);
}
public void click123(View v){
Toast.makeText(MainActivity.this,"@@@@@@@@@",Toast.LENGTH_LONG).show();
}
}
第四种:
以内部类的方式来实现。
public class MainActivity extends AppCompatActivity  {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.clicklayout);
Button button= (Button) findViewById(R.id.button1);
button.setOnClickListener(new myclick());
}
class myclick implements View.OnClickListener{

@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"@@@@@@@@@",Toast.LENGTH_LONG).show();
}
}
}
 
 
 
 
 
 
 
 

 

 

转载于:https://www.cnblogs.com/xiao-zhang/p/7502336.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值