文档章节

android:onClick详解

墨梅
 墨梅
发布于 2014/05/08 07:02
字数 367
阅读 797
收藏 2

public void (View v) 记得函数参数匹配  根据多态性以及函数指针原理这里的函数会注册给android:onClick的监听器

 这样每个button都可以使用onClck定义自己测处理方法,也可以共用,但是关于事件源的区分就没有那么方便了,可能需要获取坐标才能逻辑上判断是哪个按钮或者根据

 

完整例子

main.xml

<?xml version="1.0"encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    >

<TextView 

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="@string/hello"

    />

<Button

android:onClick = "xxx"

android:text="ok" android:id="@+id/button1" android:layout_width="wrap_content"android:layout_height="wrap_content"></Button>

<Button

android:onClick = "xxx"

android:text="no" android:id="@+id/button2" android:layout_width="wrap_content"android:layout_height="wrap_content"></Button>

</LinearLayout>

MainActivity.java

package com.sms;

 

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.Toast;

 

public class MainAcitivy extends Activity {

   /** Called when the activity is first created. */

   @Override

   public void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

       setContentView(R.layout.main);

    }

 

   public void xxx(View v)

             {

                       //可以直接转型但是注意有时候子类不匹配  ((Button)v).getText()

                       Button temp = (Button)v;   //最好用instanceof判断子类型的实例,,注意子类型和子类不一样,面向对象设计原理

                       if(temp.getText().toString().trim().equalsIgnoreCase("ok"))

                                {

                                         Toast.makeText(this,"ok ", Toast.LENGTH_SHORT).show();

                                }

                       if(temp.getText().toString().trim().equalsIgnoreCase("no"))

                                {

                                         Toast.makeText(this,"no ", Toast.LENGTH_LONG).show();

                                }

                      

             }

   public void xxxx(View v)  //也可以单独映射自己的方法,但是单独写代码过于冗余 所以建议统一 使用getText判断仍然是好方法,需要记住处理函数参数

             {

                       Toast.makeText(this,"xxxx", Toast.LENGTH_SHORT).show();

             }

}

本文转载自:http://wangxiaalwy.blog.163.com/blog/static/1552508182012113185422809/

共有 人打赏支持
墨梅
粉丝 16
博文 218
码字总数 43367
作品 0
杭州
后端工程师
startActivityForResult用法详解

一、如果想在Activity中得到新打开Activity 关闭后返回的数据,需要使用系统提供的startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,新的Activity 关闭后会向前...

深谷不见幽兰
2014/04/21
0
0
android菜单详解二:选项菜单

创建一个选项菜单 选项菜单里应该包含基本的activity动作和必须的导航条目 (例如,一个打开程序设置的菜单项). 选项菜单的菜单项有两种不同的选择方法,一是菜单项按钮,二是通过 Action Bar...

晨曦之光
2012/03/12
0
0
Android Timer计时器详解

直接上代码,解释看注释,一个火箭发射倒计时的例子 main.xml [html] <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ......

yumingxinli
2013/03/08
0
1
Android Intent机制实例详解(Activity篇)

Android Intent机制实例详解(Activity篇) Android 中提供了 Intent 机制来协助应用间的交互与通讯,或者采用更准确的说法 是, Intent 不仅可用于应用程序之间,也可用于应用程序内部的 Acti...

xiahuawuyu
2012/08/01
0
0
Android 四种加载方式详解(standard singleTop singleTask ...

Android 四种加载方式详解(standard singleTop singleTask singleInstance) 2012-02-03 14:05Android之四种加载方式 (http://marshal.easymorse.com/archives/2950 图片) 在多Activity开......

gavin_jin
2012/02/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android适配相关

Android 6.0、7.0、8.0、9.0适配 关于android适配的好文章 Android权限申请库 AndPermission 国产,有中文文档,链式调用,用起来简单 easypermissions 谷歌官方出品 PermissionsDispatcher ...

Skqing
12分钟前
1
0
Google推出了以隐私和安全为中心的变更

作为Google Play开发者政策更新的一部分,Google推出了以隐私和安全为中心的变更。 在旨在保护敏感数据的行动中,有针对请求短信和呼叫记录权限的应用程序的新规则。 即日起,只有配置为默认...

问题终结者
15分钟前
0
0
Kotlin个人理解入门篇

了解kotlin并开始使用其做开发,是从最近之前做的项目开始之初,用的是kotlin,发现kotlin是一个特简洁,很多语法糖提供使用,可以提高开发效率的语言。谷歌在2017年谷歌大会正式宣布支持and...

DannyCoder
20分钟前
0
0
springboot+rabbitmq整合

1.安装好rabbitmq 2.新建一个springBoot项目:rabbitmq_demo 3.添加pom依赖: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifact......

狼王黄师傅
27分钟前
0
0
使用JDK自带的jmap和jhat监控处于运行状态的Java进程

对于处于运行状态中的Java进程,JDK自带了很多工具,允许Java开发人员监控运行进程中的各种状态,比如该进程内部创建了多少个对象实例,消耗了多少内存,等等。 本文基于JDK1.8而写成。 我下...

JerryWang_SAP
37分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部