Button和ImageButton

Button----button

ImageButton----图片button

共同拥有特征:

都能够作为一个button产生点击事件

不同点

1、 Button有text的属性。ImageButton没有

2、 ImageButton有src属性。Button没有

onClick事件

Button和ImageButton都有一个onClick事件

通过他们自身的.setOnClickListener(OnclickListener)方法加入点击事件。

事实上全部的控件都有一个onClick事件

监听事件实现的几种写法

1、 匿名内部类的实现

2、 独立类的实现

3、 实现接口的方式实现

findViewById----返回的是一个View对象,须要对其进行类型转换,转换成对应的控件类型。

以下看一下三种方法的详细实现

package com.example.button;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView; public class MainActivity extends Activity implements OnClickListener {
private TextView tv;
private Button loginButton;
private ImageButton imgBt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.textView1);
/*
* 1、初始化当前须要的控件
* 2、设置Button的监听器。通过监听器实现我们点击Button要操作的事情
*/
loginButton = (Button) findViewById(R.id.button1);
/*
* 1、监听事件通过匿名内部类实现
*/
loginButton.setOnClickListener(new OnClickListener() { @Override
public void onClick(View arg0) {
//在当前onClick方法中监听点击Button的动作
tv.setText("被点击了! "); }
});
/*
* 2、监听事件通过独立类实现
*/
loginButton = (Button) findViewById(R.id.button2);
loginButton.setOnClickListener(listener); /*
* 3、通过接口方式实现
*/
imgBt = (ImageButton) findViewById(R.id.imageButton1); imgBt.setOnClickListener(this);
}
OnClickListener listener = new OnClickListener() { @Override
public void onClick(View arg0) {
tv = (TextView) findViewById(R.id.textView1);
//tv.setText("独立类的监听事件被触发了!");
Log.i("tag", "独立类");
}
}; @Override
public void onClick(View arg0) {
Log.i("tag", "通过接口实现! ");
}
}
上一篇:fopen,fwrite,fread使用


下一篇:解决nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)