下面介绍按钮点击事件的「OnClickListener」实例的实装的方法。
用其他类的形式也可以实现实装,本次演示在自身Class里实现「OnClickListener」实例的实装。
import android.app.Activity; import android.os.Bundle; import android.widget.Button; import android.view.View.OnClickListener;
public class Test extends Activity implements OnClickListener{ @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle);
} }
|
实装必须用的「onClick」方法追加
import android.app.Activity; import android.os.Bundle; import android.widget.Button; import android.view.View.OnClickListener;
public class Test extends Activity implements OnClickListener{ @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle);
}
public void onClick(View v) { /* .... */ } }
|
按钮使用「setOnClickListener」方法并且能够取得点击的事件设定,这个时候
「setOnClickListener」的参数是「OnClickListener」实例化的Object,因为是自己的Class所以参数设定为「this」
import android.app.Activity; import android.os.Bundle; import android.widget.Button; import android.view.View.OnClickListener;
public class Test extends Activity implements OnClickListener{ @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle);
Button button = new Button(this); button.setOnClickListener(this); }
public void onClick(View v) { /* .... */ } }
|
使用例子 Test04_01.java
package jp.javadrive.android;
import android.app.Activity; import android.os.Bundle; import android.widget.LinearLayout; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.view.View.OnClickListener;
public class Test04_01 extends Activity implements OnClickListener{ private final int WRAP_CONTENT = ViewGroup.LayoutParams.WRAP_CONTENT; private int count1; private int count2; private Button button1; private Button button2;
@Override protected void onCreate(Bundle icicle) { super.onCreate(icicle);
count1 = 0; count2 = 0;
LinearLayout linearLayout = new LinearLayout(this); linearLayout.setOrientation(LinearLayout.HORIZONTAL); setContentView(linearLayout);
button1 = new Button(this); button1.setText("Count"); button1.setOnClickListener(this); linearLayout.addView(button1, new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT));
button2 = new Button(this); button2.setText("Count"); button2.setOnClickListener(this); linearLayout.addView(button2, new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT)); }
public void onClick(View v) { if (v == button1){ count1++; button1.setText("Count:" + count1); }else if (v == button2){ count2++; button2.setText("Count:" + count2); } } }
|
阅读(2448) | 评论(0) | 转发(0) |