您的位置:首页 > 移动开发 > Android开发

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

2017-03-12 18:22 405 查看

本次主要为总结自己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
pr
4000
otected 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.写下响应的逻辑。

运行效果:


               
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: