andorid UI事件 监听器

时间:2021-02-17 16:25:53

gridlayout.xml

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:layout_columnSpan="2"
android:hint="To:"
android:layout_gravity="fill"
android:inputType="textWebPassword"
android:maxLength="6"
/>
<!--inputType phone只输入电话号码
inputType="numberPassword" 只输入数字
textWebPassword 字母和数字
date 日期
maxLength 最大长度
-->
<EditText
android:layout_columnSpan="2"
android:hint="Subject:"
android:layout_gravity="fill"
android:editable="false"/>
<!--editable 只读-->
<EditText
android:layout_columnSpan="2"
android:hint="Message:"
android:layout_gravity="fill"
android:layout_rowWeight="1"
android:gravity="top"
/>
<Button
android:text="RESET"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:id="@+id/reset"
/>
<Button
android:text="SENO"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:id="@+id/send"
/> </GridLayout>

MainActivity  内部类实现

package com.hanqi.application3;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast; /**
* Created by Administrator on 2016/3/27.
*/
public class MainActivity extends Activity implements View.OnClickListener{ @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gridlayout);
//添加监听器
//监听器 本身只是是一个接口,需要写实现类
Button bt_Reset=(Button)findViewById(R.id.reset);
//setOnClickListener设置监听器实现类的实例
//bt_Reset.setOnClickListener(new ButtonOnClickListener());
//当前Activity作为监听器接口的实现类
bt_Reset.setOnClickListener(this);
//监听器 本身只是是一个接口,需要写实现类
Button bt_Send=(Button)findViewById(R.id.send);
//setOnClickListener设置监听器实现类的实例
//bt_Send.setOnClickListener(new ButtonOnClickListener()); //匿名内部类
bt_Send.setOnClickListener(new View.OnClickListener(){
public void onClick(View v)
{
//强转
Button bt=(Button)v;
//bt.getText获取内容
String string =bt.getText().toString();
//Toast.makeText 提示框
//在内部调用外部类的实例:外部类的类名.this
Toast.makeText(MainActivity.this,string+" 按钮匿名内部类被点击了",Toast.LENGTH_LONG).show();
} }); }
//1.用内部类实现监听器接口
//implements 表示实现 OnClickListener 方法
private class ButtonOnClickListener implements View.OnClickListener
{
//传递的View参数 是触发事件的视图实例
public void onClick(View v)
{
//强转
Button bt=(Button)v;
//bt.getText获取内容
String string =bt.getText().toString();
//Toast.makeText 提示框
//在内部调用外部类的实例:外部类的类名.this
Toast.makeText(MainActivity.this,string+" 按钮被点击了",Toast.LENGTH_LONG).show();
}
} //传递的View参数 是触发事件的视图实例
public void onClick(View v)
{
//强转
Button bt=(Button)v; //bt.getText获取内容
String string =bt.getText().toString();
//Toast.makeText 提示框
Toast.makeText(this,string+" click",Toast.LENGTH_LONG).show();
} }

WaiBuListener  外部实现

package com.hanqi.application3;

import android.view.View;
import android.widget.Button; /**
* Created by Administrator on 2016/3/28.
*/
public class WaiBuListener implements View.OnClickListener {
public void onClick(View v)
{
//强转
Button bt=(Button)v;
//bt.getText获取内容
String string =bt.getText().toString();
//Toast.makeText 提示框
//在内部调用外部类的实例:外部类的类名.this
//Toast.makeText(MainActivity.this, string + " 按钮匿名内部类被点击了", Toast.LENGTH_LONG).show();
} }