您的位置:首页 > 其它

控件设置监听器的一些方法

2015-11-05 22:23 274 查看
方法一.创建一个类实现View.OnClickListener接口

package com.keycky.TestListener;

import android.view.View;
import android.view.View.OnClickListener;

public class TextViewClickListener implements OnClickListener {

@Override
public void onClick(View v) {//此处的v表示触发该点击事件的对象。
// TODO Auto-generated method stub
System.out.println("TextView被点击了");
}

}


创建TextViewClickListener类的对象,并调用helloWorldTextView的setOnClickListener方法把该对象传入给helloWorldTextView对象中的mOnclickListener属性,如果有点击事件,就会调用TextViewClickListener对象的onClick方法。

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

TextView testTextView = (TextView) findViewById(R.id.testTextView);
testTextView.setText("test");

TextViewClickListener textViewClickListener = new TextViewClickListener();
testTextView.setOnClickListener(textViewClickListener);
}


方法二,通过接口实现的匿名内部类来创建对象。
直接在onCreate方法中,创建OnClickListener接口的匿名内部类对象

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

TextView testTextView = (TextView) findViewById(R.id.testTextView);
helloWorldTextView.setText("test");

testTextView.setOnClickListener(new View.OnClickListener() {//此处也是要注意导入OnClickListener包要导入android.view.View包
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
System.out.println("匿名内部类实现的监听TextView点击!");
}
});

}


感谢安卓杂谈网: http://www.yee4.com/blog/299.html
当然,还有第三种经常使用的方法

截自自己写的代码。

public class MainActivity extends Activity implements OnClickListener {

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initviews();
initEvents();
}
private void initEvents() {
mGetImage.setOnClickListener(this);
mDetect.setOnClickListener(this);
}

private void initviews() {
mPhoto = (ImageView) findViewById(R.id.id_photo);
mGetImage = (Button) findViewById(R.id.id_getImage);
mDetect = (Button) findViewById(R.id.id_detect);
mTip = (TextView) findViewById(R.id.id_tip);
mWatting = findViewById(R.id.id_waitting);

}
public void onClick(View v) {
switch (v.getId()) {
case R.id.id_getImage:
break;
case R.id.id_detect:
break;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: