Button 按钮
常用属性:
onClick 单击时要执行的函数
Button设置事件监听的3种方式:
1、在布局中设置属性onClick="函数名",在对应的.java文件中编写函数。函数名要相同。
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click"/>
public void click(View view){ }
形参View是必须的。
2、在布局对应的.java中给单个控件设置事件监听:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn=findViewById(R.id.btn); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { } }); }
可以使用匿名内部类,也可以自定义一个类实现监听器。
Button常用的事件监听:
OnClickListener
OnTouchListener
OnLongClickListener
注意:Andriod设置事件监听,是set,不是add
3、.java文件的类直接实现监听器:
public class MainActivity extends AppCompatActivity implements View.OnClickListener { //实现监听器 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public void onClick(View view) { switch(view.getId()){ //获取被单击控件的id case R.id.btn1: //如果被单击的是btn1 //执行对应的代码..... break; case R.id.btn2: //...... break; } } }
这种方式适合此Activity中按钮较多的情况。
注意:要给这些按钮设置监听,.setOnClickListener(this); 不然没效果。
不仅仅是Button,其它控件也可以用这些方式设置事件监听。