摘要
每个应用程序都需要与用户进行交互,点击以及响应。在安卓中系统已经为视图上的控件设置了可以响应用户点击事件的接口,只需要为其设置上你希望用户点击或则修改文本时的动作响应
视图控件响应接口
View 类下的 点击事件接口
/**
* Interface definition for a callback to be invoked when a view is clicked.
*/
public interface OnClickListener {
/**
* Called when a view has been clicked.
*
* @param v The view that was clicked.
*/
void onClick(View v);
}
当页面控件继承于 View 后,都会冲父类继承一个 setOnClickListener 方法,此方法为点击事件响应接口设置实例接口,当当前控件视图被点击时就会做出对应的响应。
TextView Click事件
TextView textView = new TextView(MainActivity.this);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// do something
}
});
因为TextView继承于View,可以通过此方式实现点击事件。
因为TextView自己实现了一个响应文字变换的接口故还能监听其对于文本文字变换的事件
textView.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
以此类推,当安卓在界面上触发某种事件时,即会调用其可以运行的实例去响应这个控件。
总结
安卓系统,通过自己的考虑为几乎所有可能的用户操作进行了接口话处理,当系统中某一个相应的对象触发了某一个动作时就会调用对应的开发者实现的代码用以响应用户操作,使其能够与用户进行交互。