计算器(UI事件)给按钮添加监听器

<?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_zhengfu"
        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>

activity_main.xml

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_zhengfu;

    @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_zhengfu=(Button)findViewById(R.id.bt_zhengfu);

        //给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_zhengfu.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");
    }
}

MainActivity.java

时间: 2024-10-10 19:55:37

计算器(UI事件)给按钮添加监听器的相关文章

计算器 ——给按钮添加监听器

1 <?xml version="1.0" encoding="utf-8"?> 2 <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas.android.com/tools" 4 android:layout_width="match_parent&q

andorid UI事件 监听器

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"

JS DOM基础 事件概述 事件流 事件处理方法 添加监听器 事件类型 事件对象 事件委托

一.事件概述 事件是什么? 在我们的生活中,都会接触到事件这样一个概念,它通常通过描述发生这件事的时间.地点.人物,发生了什么来进行概括. 同样的在javascript也有这样的一个的东西------事件. 页面上发生的事件:鼠标移动.点击.滚动等等. 事件描述了页面上发生的事情,通常它有以下三个要素组成: 事件源:触发事件的元素 事件类型:事件的触发方式(例如鼠标点击或键盘点击) 事件处理程序(事件监听器):事件触发后要执行的代码(函数形式) Javascript 使我们可以动态的去操作一个页

GUI编程笔记06:GUI窗体添加按钮并对按钮添加事件案例

1.需求:把按钮添加到窗体,并对按钮添加一个点击事件. 步骤: (1)创建窗体对象(2)创建按钮对象(3)把按钮添加到窗体(4)窗体显示 2.编写程序思路: 窗体布局:窗体中组件的排列方式  布局分类如下: package cn.itcast_04; import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.event.ActionEvent; import java.aw

Android 给按钮添加监听事件

在安卓开发中,如果要给一个按钮添加监听事件的话,有以下三种实现方式 1.方式一 public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取button按钮 Butt

练习题:获取登录按钮及整个登录面板,给登录按钮添加事件,点击时让登录层示,点击登录面板的关闭按钮,关闭整个登录层

获取登录按钮及整个登录面板,给登录按钮添加事件,点击时让登录层示,点击登录面板的关闭按钮,关闭整个登录层 点击登录后: <!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> *{margin:0;padding:0;} .head{font-size:1

Android 处理UI事件

一.概述 在Java和android中,通过事件来与各种输入设备进行沟通. 事件是由OS产生的消息,当某个UI元素被用户以特定方式进行操作时,OS就会将事件消息发送给相应的View对象. 二.监听及事件处理 “处理”(Handle)与“处理程序”(Handler) 三.View类处理UI事件 在应用程序中,每一个UI元素都是彼此不同的实例化View对象,每一个对象都包含专属于该View对象的事件. 在布局中,一个View对象是通过公共的回调(Callback)方法来与应用程序的其它部分进行沟通的

Cocos2d-x3.0 加载Cocostudio的UI后,按钮无法点击的解决方法

最近发现不少朋友都遇到这个问题,用Cocostudio的UI编辑器创建好UI后,在代码中加载UI,然后给按钮(Button)添加点击监听事件,发现无论如何都点击不了按钮,没有任何反应. 或者,往按钮的下面一些位置点击,却发现按钮被点击了,点击坐标的位置明显和按钮的位置有偏差. 笨木头花心贡献,啥?花心?不呢,是用心~ 转载请注明,原文地址: http://www.benmutou.com/blog/archives/1027 文章来源:笨木头与游戏开发 如果你也遇到这样的问题,不妨进行一个简单的

[译]JavaFX 2.0+ - UI控件 - 按钮

3 按钮 JavaFX API中的Button类用来处理当用户点击一个按钮时执行一个操作.Button类继承自Labeled类, 它可以显示文本,图像,或两者兼之.图3 - 1显示了几个不同效果的按钮, 在本章中你将学习如何创建这些类型的按钮. 图3 - 1 不同类型的按钮 上图中显示了五个按钮和一个标签,这些按钮分多行显示. 第一行中的按钮包含一个图标和文本,图标是一个绿色的实心圆中间放置一个白色的对钩. 第二行显示了两个纯文本按钮和一个标签.其中“Decline”按钮展示的是鼠标放在按钮上时