zoukankan      html  css  js  c++  java
  • 安卓设置按钮监听的四种方式

    这里的布局文件就很简单。只是一个简单的按钮。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:onclick="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();
    }
    }
    }
     
     
     
     
     
    
    
     

     

  • 相关阅读:
    小米9一直无限重启是怎么办
    发现一个大神做了一个ROS-ROUTEROS的中文手册中文使用说明书
    浅谈CN2 GIA和CN2 GT线路的区别
    本地ROS多线访问同一个服务器的IP,比如阿里云的IP,创建冗余线路
    syslog之三:建立Windows下面的syslog日志服务器
    增值税专用发票“抵扣联”和“发票联”丢失怎么办
    在线播放 4K 内容的需要多少带宽?
    戴尔R640服务器用H740P配置阵列
    搞微服务用阿里开源的 Nacos 真香啊!
    保持ssh不自动断开
  • 原文地址:https://www.cnblogs.com/xiao-zhang/p/7502336.html
Copyright © 2011-2022 走看看