监听

说实话,乌鸦一直没有搞懂java里的监听,当初做swing的项目的时候,就听了个云里雾里,没想到今天在mars老师这里学android,竟然把监听也弄明白了。
这完全得益于mars的一张PPT,先截图看一下
mars讲监听.jpg

实现监听需要一个内部类,乌鸦更喜欢这一种,清晰明了,因为之前看到的都是在类里面new了以后直接使用,看着很是头大
[code=java]package com.wangc.mars05;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MyActivity extends Activity {

private TextView textView;
private Button button;
int count = 0 ;

@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

textView = (TextView) findViewById(R.id.tv_main_showNum);
button = (Button) findViewById(R.id.bt_main_addNum);
ButtonAddNumListener buttonAddNumListener = new ButtonAddNumListener();
button.setOnClickListener(buttonAddNumListener);
Button btType = (Button) findViewById(R.id.bt_main_addNum);
}

class ButtonAddNumListener implements View.OnClickListener {
@Override
public void onClick(View v){
count ++;
textView.setText(count+"");
}
}

}[/code]

其实关于android注册监听事件之前乌鸦写过一篇博客(自己做一个apk【b】),除了这一种使用内部类实现Listener接口外,还可以在Activity里新增一个方法,然后在布局文件中增加监听。这种比内部类更加的简单明了,据说这是4.×以后才有的。

参考:
http://wang153723482.blog.163.com/blog/static/1186498452013931102215305/
http://marschen.com