Android第二天

来源:互联网 发布:淘宝如何上传宝贝视频 编辑:程序博客网 时间:2024/05/17 22:13

一、使用匿名内部类设置监听事件
1.初始化当前所需控件

public class MainActivity extends AppCompatActivity {    private Button loginButton;//定义Button控件    private Button bt2;    private Button bt3;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        loginButton = (Button) findViewById(R.id.Button1);//使用findViewById()对Button控件进行初始化

2.设置Button的监听器,通过监听器实现点击Button要做的事

loginButton = (Button) findViewById(R.id.Button1);//使用findViewById()对Button控件进行初始化        loginButton.setOnClickListener(new View.OnClickListener() {//监听器            @Override            public void onClick(View arg0) {                //在当前onClick方法中监听点击Button的动作                System.out.println("loginButton被点击了!");            }        });

二、使用外部类设置监听事件
1.创建一个外部类实现OnClickListener接口,重写onClick()方法
2.在Button的setOnClickListener方法中new出外部类,调用外部类的onClick()方法
父类的方法会被所有调用该外部类的方法调用

bt2 = (Button) findViewById(R.id.Button2);        bt3 = (Button) findViewById(R.id.Button3);        bt2.setOnClickListener(new MyOnClickListener(){            @Override            public void onClick(View v) {                super.onClick(v);                Toast.makeText(MainActivity.this,"按钮2被点了",Toast.LENGTH_SHORT).show();            }        });        bt3.setOnClickListener(new MyOnClickListener(){            @Override            public void onClick(View v) {                super.onClick(v);                Toast.makeText(MainActivity.this,"按钮3被点了",Toast.LENGTH_SHORT).show();            }        });    }}class MyOnClickListener implements View.OnClickListener {    @Override    public void onClick(View v) {        Log.i("tag","父类的方法");//父类的方法会被所有调用该外部类的方法调用        v.setAlpha(0.5f);//当许多的Button要使用相同的动画效果时,可以将该方法写在外部类中,减少代码冗余度    }}

当许多的Button要使用相同的动画效果时,可以将该方法写在外部类中,减少代码冗余度

三、使用接口设置监听事件
1.在当前的Activty中实现OnClickListener的接口

public class MainActivity extends AppCompatActivity implements OnClickListener{

2.设置监听事件时直接传this

public class MainActivity extends AppCompatActivity implements OnClickListener{//在当前的Activty中实现OnClickListener的接口    private Button Button1;//定义Button控件    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button1 = (Button) findViewById(R.id.Button1);//使用findViewById()对Button控件进行初始化        Button1.setOnClickListener(this);//设置监听事件时直接传this    }    @Override    public void onClick(View v) {        Log.i("tag","接口方式实现监听");    }}
原创粉丝点击