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();
    }
    }
    }
     
     
     
     
     
    
    
     

     

  • 相关阅读:
    解锁 redis 锁的正确姿势
    PHP实现Redis单据锁,防止并发重复写入
    js笔记
    FormData使用方法详解
    jquery里用each遍历的值存到数组和字符串
    Sublime Text3 安装 CTags 插件出现乱码
    通过pd.to_sql()将DataFrame写入Mysql
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket
    pandas 从txt读取DataFrame&DataFrame格式化保存到txt
    pandas 取消读取csv时默认第一行为列名
  • 原文地址:https://www.cnblogs.com/xiao-zhang/p/7502336.html
Copyright © 2011-2022 走看看