<?xml version="1.0" encoding="utf-8"?> <GridLayout 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" tools:context="com.hanqi.testapp2.MainActivity" android:rowCount="5" android:columnCount="4"> <TextView android:layout_width="match_parent" android:layout_height="50dp" android:layout_columnSpan="4" android:id="@+id/tv_1" android:text="7" android:textSize="30sp" android:paddingRight="10dp" android:gravity="right|center_vertical|top" android:textColor="#0f0" android:layout_rowWeight="8" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="C" android:id="@+id/bt_C" android:layout_columnWeight="1" android:layout_rowWeight="1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="DEL" android:id="@+id/bt_DEL" android:layout_columnWeight="1" android:layout_rowWeight="1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="+/-" android:id="@+id/bt_*" android:layout_columnWeight="1" android:layout_rowWeight="1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="÷" android:id="@+id/bt_chu" android:layout_columnWeight="1" android:layout_rowWeight="1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="7" android:onClick="bt7_OnClick" android:layout_columnWeight="1" android:layout_rowWeight="1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="8" android:onClick="bt8_OnClick" android:layout_columnWeight="1" android:layout_rowWeight="1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="9" android:id="@+id/bt9" android:layout_columnWeight="1" android:layout_rowWeight="1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="+" android:id="@+id/bt_add" android:layout_columnWeight="1" android:layout_rowWeight="1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="4" android:id="@+id/bt4" android:layout_columnWeight="1" android:layout_rowWeight="1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="5" android:id="@+id/bt5" android:layout_columnWeight="1" android:layout_rowWeight="1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="6" android:id="@+id/bt6" android:layout_columnWeight="1" android:layout_rowWeight="1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="—" android:id="@+id/bt_jian" android:layout_columnWeight="1" android:layout_rowWeight="1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="1" android:id="@+id/bt1" android:layout_columnWeight="1" android:layout_rowWeight="1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="2" android:id="@+id/bt2" android:layout_columnWeight="1" android:layout_rowWeight="1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="3" android:id="@+id/bt3" android:layout_columnWeight="1" android:layout_rowWeight="1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="×" android:id="@+id/bt_cheng" android:layout_columnWeight="1" android:layout_rowWeight="1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="0" android:layout_columnSpan="2" android:layout_gravity="fill_horizontal" android:id="@+id/bt0" android:layout_columnWeight="1" android:layout_rowWeight="1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="." android:id="@+id/bt_dian" android:layout_columnWeight="1" android:layout_rowWeight="1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="=" android:id="@+id/bt_dengyu" android:layout_columnWeight="1" android:layout_rowWeight="1"/> </GridLayout>
package com.hanqi.testapp2; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extends AppCompatActivity { TextView tv_1; Button bt9; Button bt4; Button bt5; Button bt6; Button bt_add; Button bt_jian; Button bt1; Button bt2; Button bt3; Button bt_cheng; Button bt0; Button bt_dian; Button bt_dengyu; Button bt_chu; Button bt_C; Button bt_DEL; Button bt_*; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv_1=(TextView)findViewById(R.id.tv_1); //事件源 bt9=(Button)findViewById(R.id.bt9); bt4=(Button)findViewById(R.id.bt4); bt5=(Button)findViewById(R.id.bt5); bt6=(Button)findViewById(R.id.bt6); bt_add=(Button)findViewById(R.id.bt_add); bt_jian=(Button)findViewById(R.id.bt_jian); bt1=(Button)findViewById(R.id.bt1); bt2=(Button)findViewById(R.id.bt2); bt3=(Button)findViewById(R.id.bt3); bt_cheng=(Button)findViewById(R.id.bt_cheng); bt0=(Button)findViewById(R.id.bt0); bt_dian=(Button)findViewById(R.id.bt_dian); bt_dengyu=(Button)findViewById(R.id.bt_dengyu); bt_chu=(Button)findViewById(R.id.bt_chu); bt_C=(Button)findViewById(R.id.bt_C); bt_DEL=(Button)findViewById(R.id.bt_DEL); bt_*=(Button)findViewById(R.id.bt_*); //给bt9按钮添加事件监听器 实现方式:1.匿名内部类 bt9.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //处理事件的业务逻辑 tv_1.setText("9"); } }); //2.普通内部类 bt_OnClickListener bt_l=new bt_OnClickListener(); bt_add.setOnClickListener(bt_l); bt4.setOnClickListener(bt_l); bt5.setOnClickListener(bt_l); bt6.setOnClickListener(bt_l); bt_jian.setOnClickListener(bt_l); bt1.setOnClickListener(bt_l); bt2.setOnClickListener(bt_l); bt3.setOnClickListener(bt_l); bt_cheng.setOnClickListener(bt_l); bt0.setOnClickListener(bt_l); bt_dian.setOnClickListener(bt_l); bt_dengyu.setOnClickListener(bt_l); bt_chu.setOnClickListener(bt_l); bt_C.setOnClickListener(bt_l); bt_DEL.setOnClickListener(bt_l); bt_*.setOnClickListener(bt_l); } //内部类实现OnClickListrner接口 class bt_OnClickListener implements View.OnClickListener { @Override //v 事件源 public void onClick(View v) { //转成按钮 Button bt=(Button)v; //取得按钮上的文字 String str = bt.getText().toString(); //处理事件的业务逻辑 设置显示文字 tv_1.setText(str); } } //3.关联方式 public void bt7_OnClick(View v) { tv_1.setText("7"); } public void bt8_OnClick(View v) { tv_1.setText("8"); } }