码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-05-03 22:07:19      阅读:403      评论:0      收藏:0      [点我收藏+]

标签:

技术分享
<?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

 技术分享

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

标签:

原文地址:http://www.cnblogs.com/cycanfly/p/5455658.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!