第二篇:Activity的事件监听
实验目的
本次实验的目的是掌握控件的基于事件监听内部类、基于事件监听内部匿名类、Activity本身作为事件监听器以及直接绑定到标签等四种常用的事件处理方法。
实验任务及要求
掌握android系统的事件监听的几种处理方法。具体要求如下:
i.基于事件监听内部类实现事件监听处理;
ii.基于事件监听内部匿名类实现事件监听处理;
iii.Activity本身作为事件监听器;
iv.直接绑定到标签;
程序代码:
Activty_main.xml代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="128dp"
android:text="@string/hello_world"
/>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginTop="58dp"
android:text="按钮1" />
//内部类实现:
package com.example.chapter_5;
import android.os.Bundle;
import android.R.integer;
import android.app.Activity;
import android.support.v4.app.NotificationCompat.Action;
import android.view.Menu;
import android.view.TextureView;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
Button btn1;
TextView tv1;
int i=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//实例化Button对象
btn1=(Button)findViewBvId(R.id.button1);
tv1=(TextView)findViewBvId(R.id.textView1);
btn1.setOnClickListener(new myOnClickListener());
}
class myOnClickListener implements OnClickListener{
int i=0;
public void onClick(View arg0){
if(i==0){
tv1.setText("111111");
i++;
}else{
tv1.setText("000000");
i--; } } }}
/*//匿名内部类实现
public class MainActivity extends Activity {
Button btn1;
TextView tv1;
int i=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//实例化Button对象
btn1=(Button)findViewBvId(R.id.button1);
tv1=(TextView)findViewBvId(R.id.textView1);
btn1.setOnClickListener(new myOnClickListener(){
public void onClick(View arg0){
if(i==0){
tv1.setText("111111");
i++;
}else{
tv1.setText("000000");
i--; } } })}}
*/
/*//接口实现
public class MainActivity extends Activity {
Button btn1;
TextView tv1;
int i=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//实例化Button对象
btn1=(Button)findViewBvId(R.id.button1);
tv1=(TextView)findViewBvId(R.id.textView1);
btn1.setOnClickListener(this)
}
public void onClick(View arg0){
if(i==0){
tv1.setText("111111");
i++;
}else{
tv1.setText("000000");
i--;
}
}
*/
//布局绑定实现
/*public class MainActivity extends Activity {
Button btn1;
TextView tv1;
int i=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//实例化Button对象
btn1=(Button)findViewBvId(R.id.button1);
tv1=(TextView)findViewBvId(R.id.textView1);
public void onClick(View arg0){
if(i==0){
tv1.setText("111111");
i++;
}else{
tv1.setText("000000");
i--;
}
}
}*/
结果截图: