更多內容敬請關註:http://drovik.com
在Android裡面,添加Listener,具體步驟如下:
1.首先在layout裡面定義Button並指定響應的Listener
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="<a href="http://schemas.android.com/apk/res/android"">http://schemas.android.com/apk/res/android"</a>
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button
android:text="Button01"
android:id="@+id/Button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="myClickH1"
/>
<Button
android:text="Button02"
android:id="@+id/Button02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="myClick2"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
其中以下這兩行就是新增的特性:
android:onClick="myClick1"
android:onClick="myClick2"
2.在活動裡面定義public的方法myClick1、和myClick2
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
public class TestOnClickListener extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void myClickHandler01(View v){
setTitle("myClick1");
}
public void myClick2(View v){
setTitle("myClick2");
}
}
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
public class TestOnClickListener extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void myClick1(View v){
setTitle("myClick1");
}
public void myClick2(View v){
setTitle("myClick2");
}
}
也可以採用這種寫法,將兩個按鈕設定到同一個Listener 代碼如下所示:
android:onClick="onClick"
android:onClick="onClick"
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
public class TestOnClickListener extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void myClickHandler(View v){
switch (v.getId()) {
case R.id.Button01:
setTitle("Click1");
break;
case R.id.Button2:
setTitle("Click2");
break;
}
}
}