Browse » Home » Resource, Tips » Blog article: 添加Click Listener的简便方法

对于任何一个开发者而言,常常需要为Views元素添加各种 “Listener”,响应用户的各种交互信息。下面的代码对于一般的开发者而言再熟悉不过了,是一种最原始的添加Click listener的方法:

findViewById(R.id.myButton).setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
    // Do stuff
    }
});

下面这个方法较前一种稍微简单了一些,允许多个Buttons共享一个Listener。通过Switch控制对不同Button Click事件的响应方法:

View.OnClickListener handler = View.OnClickListener() {
    public void onClick(View v) {
        switch (v.getId()) {
           case R.id.myButton: // doStuff
           break;
           case R.id.myOtherButton: // doStuff
           break;
        }
    }
}

最后依然需要在程序中调用setOnClickListener()方法为所有的Buttons添加公共Listener:

findViewById(R.id.myButton).setOnClickListener(handler);
findViewById(R.id.myOtherButton).setOnClickListener(handler);

Android开发小组对上边的方法又做了进一步的改善,从Android 1.6开始将允许开发者直接将Click listener捆绑XML layout中的Views元素。在程序中定义的Listener方法需要带有一个View类型的参数。下面提供了完整的例子来说明:

class MyActivity extends Activity {
    public void myClickHandler(View target) {
    // Do stuff
    }
}

在XML Layout中将已经声明的Listener函数名赋给Button的onClick属性:

英文原文: Android Blog

Tags: , ,

Posted in Resource, Tips |

Random Posts



Leave a Reply

You must be logged in to post a comment.