android中3种事件监听的实现方式

    xiaoxiao2021-03-25  69

    本次主要为总结自己android学习过程中学到的3种事件监听的实现方式。

    第一种:先定义事件侦听器,后注册给需要侦听用户动作的组件 代码如下: package com.example.administrator.mylogin; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class LoginActivity extends AppCompatActivity { private String userName,passWord; private EditText username; private EditText password; private View.OnClickListener myListener = new View.OnClickListener() { //1.声明事件监听器 @Override public void onClick(View view) { //4.要响应的逻辑 if(view.getId()==R.id.butlogin){ userName=username.getText().toString(); passWord=password.getText().toString(); Toast.makeText(LoginActivity.this,"login按钮被点击了"+userName+"/"+passWord,Toast.LENGTH_SHORT).show(); }else if(view.getId()==R.id.butreset){ username.setText(""); password.setText(""); Toast.makeText(LoginActivity.this,"reset按钮被点击了",Toast.LENGTH_SHORT).show(); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.loginlayout); //2.绑定控件 Button butlogin = (Button)findViewById(R.id.butlogin); //3.调用 butlogin.setOnClickListener(myListener); Button butreset = (Button)findViewById(R.id.butreset); butreset.setOnClickListener(myListener); username=(EditText) findViewById(R.id.username); password= (EditText) findViewById(R.id.password); } } 小结:此种方式主要分为以下4个步骤来实现:      1.声明事件监听器;      2.绑定控件,通过findViewById()方法获取到控件的实例;      3.注册给需要监听用户动作的组件;      4.写下响应的逻辑。 第二种:实现接口的方式来注册 代码如下: package com.example.administrator.mylogin; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity2 extends AppCompatActivity implements View.OnClickListener{ private String userName,passWord; private EditText username; private EditText password; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.loginlayout); Button butlogin = (Button)findViewById(R.id.butlogin); //3.调用 butlogin.setOnClickListener(this); Button butreset = (Button)findViewById(R.id.butreset); butreset.setOnClickListener(this); username=(EditText) findViewById(R.id.username); password= (EditText) findViewById(R.id.password); } @Override public void onClick(View view) { if(view.getId()==R.id.butlogin){ userName=username.getText().toString(); passWord=password.getText().toString(); Toast.makeText(MainActivity2.this,"login按钮被点击了"+userName+"/"+passWord,Toast.LENGTH_SHORT).show(); }else if(view.getId()==R.id.butreset){ username.setText(""); password.setText(""); Toast.makeText(MainActivity2.this,"reset按钮被点击了",Toast.LENGTH_SHORT).show(); } } } 小结:此种方式主要分为以下步骤      1.实现接口;        2.绑定控件,通过findViewById()方法获取到控件的实例;      3.注册给需要监听用户动作的组件;      4.写下响应的逻辑。 第三种:匿名类的方式 代码如下: package com.example.administrator.mylogin; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity3 extends AppCompatActivity { private String userName,passWord; private EditText username; private EditText password; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.loginlayout); username=(EditText) findViewById(R.id.username); password= (EditText) findViewById(R.id.password); Button butlogin= (Button) findViewById(R.id.butlogin); butlogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { userName=username.getText().toString(); passWord=password.getText().toString(); Toast.makeText(MainActivity3.this,"login按钮被点击了"+userName+"/"+passWord,Toast.LENGTH_SHORT).show(); } }); Button butreset= (Button) findViewById(R.id.butreset); butreset.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { username.setText(""); password.setText(""); Toast.makeText(MainActivity3.this,"reset按钮被点击了",Toast.LENGTH_SHORT).show(); } }); } } 小结:此种方式主要分以下步骤:      1.绑定控件,通过findViewById()方法获取到控件的实例;      2.注册给需要监听用户动作的组件;      3.写下响应的逻辑。 运行效果:                
    转载请注明原文地址: https://ju.6miu.com/read-35918.html

    最新回复(0)