android_监听事件

来源:互联网 发布:淘宝2015年销售额 编辑:程序博客网 时间:2024/06/07 12:50

匿名内部类

假设控件是loginButton
1. 初始化控件

  private Button loginButton = (Button)findViewById(R.id.button1)

在ui界面的时候当拖入Button就会在R文件中生成对应名字(假设是button1的)的ID, 在findViewById中找到对应的ID, 并返回view类, 再强制转化为Button
2. 设置Button的监听器,通过实现监听器实现点击Button的逻辑

loginButton.setOnClickListenner(new OnClickListenner() {    @Override    public void onClick(View arg0) {        System.out.println("我的Button被点击了");    }});

外部类实现

通过在外部再写一个类来实现它的逻辑

package com.example.helloworld;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button bt1 = (Button)findViewById(R.id.button1);        Button bt2 = (Button)findViewById(R.id.button2);        bt1.setOnClickListener(new MyOnClickListener() {            @Override            public void onClick(View v) {                super.onClick(v);                Toast.makeText(MainActivity.this, "bt1要执行的逻辑", 1).show();            }        });        bt2.setOnClickListener(new MyOnClickListener() {            @Override            public void onClick(View v) {                super.onClick(v);                Toast.makeText(MainActivity.this, "bt2要执行的逻辑", 1).show();            }        });    }}class MyOnClickListener implements OnClickListener {    @Override    public void onClick(View v) {        // TODO Auto-generated method stub        v.setAlpha(0.5f);    }}

接口方式

用接口来是实现它的逻辑

package com.example.helloworld;import android.os.Bundle;import android.app.Activity;import android.util.Log;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener{    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button bt1 = (Button)findViewById(R.id.button1);        Button bt2 = (Button)findViewById(R.id.button2);        bt1.setOnClickListener(this);    }    @Override    public void onClick(View v) {        // TODO Auto-generated method stub        Log.i("tag", "接口方式实现监听事件");    }}
0 0