课堂8 常见事件响应的实现方式
1.单击事件
onClickListener
2.长按事件
onLongClickListener
3.滑动事件
onTouchListener
4.键盘事件
onKeyListener
5.焦点事件
setOnFocusChangeListener
①动态设置(最常用的方式)
button.setOnClickListener(new OnClickListener() {
@Override
<span style="white-space:pre"> </span>public void onClick(View v){
System.println("button发生点击事件!!");
<span style="white-space:pre"> </span>}
});
</pre><p><span class="token p" style="outline:none!important">②配置方式,仅限于onclick</span><span class="token lf" style="outline:none!important"></span><span class="token p" style="outline:none!important"> </span></p><p><span class="token p" style="outline:none!important"></span></p><pre name="code" class="java"><pre name="code" class="java"><Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
android:onClick="test2" />
就是当button2被点击时,去找到一个叫test2的方法执行。
在Activity中实现test2方法如下:
public void test2(View view){
}
③可复用方式在onclick方法中判断哪个组件发生了相应的事件
Button button1 = (Button) findViewById(R.id.button1);
Button button2 = (Button) findViewById(R.id.button2);
Button button3 = (Button) findViewById(R.id.button3);
<pre name="code" class="java">button1.setOnClickListener(myOnclickListener);
button2.setOnClickListener(myOnclickListener);
button3.setOnClickListener(myOnclickListener);
<pre name="code" class="java"><pre name="code" class="java">private View.OnClickListener myOnclickListener = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button1:
Toast.makeText(MainActivity.this, "button1被点击啦。。。", Toast.LENGTH_SHORT).show(); break;
case R.id.button2:
Toast.makeText(MainActivity.this, "button2被点击啦。。。", Toast.LENGTH_SHORT).show(); break;
case R.id.button3:
Toast.makeText(MainActivity.this, "button3被点击啦。。。", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
}
多个按钮点击事件,只需实现一次onCLickListener方法。