Android 的点击事件你知道有几种?

1.Button 按钮单击事件

(1)第一种点击事件方式

xml文件:在XML文件中显示指定按钮的onClick属性,这样点击按钮时会利用反射的方式调用对应Activity中的click()方法
Android 的点击事件你知道有几种?

<Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="按钮1"
        android:onClick="click"/>

Activity(主要代码):

 private Button button;

 setContentView(R.layout.activity_main);
 button=findViewById(R.id.button1);

   public void click(View View){
        button.setText("按钮1已被点击");
    }

(2)第二种点击事件方式:匿名内部类

Android 的点击事件你知道有几种?

xml文件:

 <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="按钮2"
       />

Activity(主要代码):

 button2.setOnClickListener(new View.OnClickListener() {
            @Override
    public void onClick(View view) {
               button2.setText("按钮2被点击了");
            }
  } );

(3)第三种点击事件方式:自定义单击事件监听类(与第二种类似)

 button3.setOnClickListener(new test() );
  private class test implements View.OnClickListener {
    @Override
    public void onClick(View view) {
         button3.setText("按钮3被点击了");
    }

(4)第四种点击事件方式:继承View.OnClickListener

Activity继承View.OnClickListener,由Activity实现OnClick(View view)方法,在OnClick(View view)方法中用switch-case对不同id代表的button进行相应的处理:

Android 的点击事件你知道有几种?


public class MainActivity extends AppCompatActivity implements View.OnClickListener{
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        button4=findViewById(R.id.button4);
        button4.setOnClickListener(this);
        
}
public void onClick(View v) {
     switch (View.getId()) {
            case R.id.button4:
                break;
            case R.id.button5:
                break;
            case R.id.button6:
                break;
            default:
                break;
        }
    }   

后续笔记会持续更新,希望大家给个一键三连!!!!!
Android 的点击事件你知道有几种?

上一篇:android – java.lang.IllegalStateException:恢复时下溢 – 恢复多于保存


下一篇:javascript – 在Phonegap中读取本地文件