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(); } }