2019独角兽企业重金招聘Python工程师标准>>>

andriod系统是一个基于事件驱动行为一种系统
andirod添加事件驱动有四种方式

第一种自定义一个内部类实现OnclickListener
private class MyListenner implements OnclickListener{
 public void OnClick(View w){
  
 }

}
然后onCreate 方法

调用Button dail=(Button)this.findByViewId(R.Id.et_numer);
dail.setOnClickListnener(new MyListenner());

第二种方式通过直接调用匿名匿名内部类使用

第三种 MainActivy直接实现OnclickListener接口
实现Onclick()方法

第四种自定义函数,然后进行业务逻辑的使用

实列1 电话拨号实列
package com.org.login;

import com.org.msg.MessageTools;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
/**
 * 主见面的activty
 * @author wangsl
 *
 */
public class MainActivity extends Activity implements OnClickListener{
 private String tag="MainActivity";
 private EditText ets_number; //输入电话号码
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.tel_phone_main);
  Button bt_telphone=(Button) findViewById(R.id.bt_telphone); //如果Button类型,需要Button类型接收
  
  //监听事件的多种写法,第一种自定义内部类
  //bt_telphone.setOnClickListener(new MyListenner());
  
  //第二种写法调用匿名内部类使用
//  bt_telphone.setOnClickListener(new OnClickListener() {
//   
//   @Override
//   public void onClick(View v) {
//    // TODO Auto-generated method stub
//    
//   }
//  });
  
  //第三种类自身实现Onclick接口  MainActivity extends Activity implements OnClickListener
  ets_number=(EditText) findViewById(R.id.ets_number);
  bt_telphone.setOnClickListener(this);
  
  //第四种自定义一个方法调用
  
 }
 
 
 
 /**
  * 自定义内容部类
  * @author wangsl
  *
  */
 private class MyListenner implements OnClickListener{

@Override
  public void onClick(View v) {
   // TODO Auto-generated method stub
   callPhone();
   
   
  }

}
 
 public void sendPhone(){
  
  callPhone();
 }
 
 
 /*
  * 拨打电话
  */
 public void callPhone() {
  String number=ets_number.getText().toString();
  //System.out.print("number==="+number);
  //Log.e(tag, "number==="+number);
  if(TextUtils.isEmpty(number)){ // TextUtil字符比较工具类需经常使用
   Toast.makeText(MainActivity.this, MessageTools.TEL_PHOME_ERROR_MES, Toast.LENGTH_SHORT).show(); //Toast是一个消息对象
   return ;
  }
  
  //电话拨打有关对象
  Intent intent=new Intent();
  intent.setAction(intent.ACTION_CALL); //执行拨打电话操作
  intent.setData(Uri.parse("tel:"+number)); //执行输入拨打电话号码
  startActivity(intent); //开始拨打
 }
 
 
 
 @Override
 public void onClick(View v) {
  // TODO Auto-generated method stub
  callPhone();
 }
 
 
}

布局tel_phone_main.xml
<RelativeLayout 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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.org.login.MainActivity" >

<TextView
        android:id="@+id/tv_input_number"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:text="@string/please_input_number" />

<EditText
        android:id="@+id/ets_number"
        android:lines="1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/tv_input_number"
        android:inputType="phone"
        android:labelFor="@+id/et_number" >
    </EditText>

<Button
        android:id="@+id/bt_telphone"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/ets_number"
        android:layout_marginTop="16dp"
        android:text="@string/tel_phone_btn" />

</RelativeLayout>

转载于:https://my.oschina.net/u/238082/blog/488643

android学习code3 布局上相关推荐

  1. Android学习之布局管理器嵌套

    线性布局管理器 (LinearLayout)里嵌套相对布局管理器(RelativeLayout) 线性布局管理器分为水平布局和垂直布局 水平布局(horizontal):组件从左往右进行排列,所有组件 ...

  2. Android学习-五布局之绝对布局(AbsoluteLayout)

    1>AbsoluteLayout(绝对布局) 又可以叫做坐标布局,可以直接指定子元素的绝对位置(xy) 2>由于手机屏幕尺寸差别比较大 使用绝对定位的适应性会比较差,在屏幕的适配上有缺陷 ...

  3. Android学习系列(10)--App列表之拖拽ListView(上)

    研究了很久的拖拽ListView的实现,受益良多,特此与尔共飨.       鉴于这部分内容网上的资料少而简陋,而具体的实现过程或许对大家才有帮助,为了详尽而不失真,我们一步一步分析,分成两篇文章. ...

  4. Android学习之网上商城(上)

    前言 又到了课设的时候,这次课设比较难受,因为两周时间中还有3门考试,在课设的时候还要复习,着实耗费了不少的精力,不过也收获多多,接下来总结一下本次课设中学到的东西 Android学习之网上商城(上) ...

  5. android创建布局文件,android学习——Android Studio下创建menu布局文件

    一.问题: android studio项目中没有看到menu文件夹: 在android studio项目中想要添加menu布局文件,一开始我的做法是:直接在res文件夹右键选择xml文件来添加,如下 ...

  6. Android学习笔记 2.2.1 线性布局 2.2.2 表格布局

    Android学习笔记 疯狂Android讲义 文章目录 Android学习笔记 疯狂Android讲义 第2章 Android 应用的界面编程 2.2 第1组 UI组件:布局管理器 2.2.1 线性 ...

  7. 【基础学习】GitHub 上100 的 Android 开源库分享

    本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据GitHub搜索Java语言选择 (Best Match) 得到的结果, 然后过滤了跟A ...

  8. Android自定义动态布局 — 多图片上传

    Android自定义动态布局 - 多图片上传 本文介绍Android中动态布局添加图片,多图片上传. 项目中效果图:    技术点: 1.动态添加格局中的线条和添加图片的+号 2.多张图片异步上传 首 ...

  9. Android学习|布局——TableLayout 表格布局

    Android学习|布局--TableLayout 表格布局 一.概述 二.常见属性 4.子控件设置属性 三.Demo 1.android:collapseColumns 2.android:stre ...

  10. Android学习笔记---09_深入了解各种布局技术

    Android学习笔记---09_深入了解各种布局技术 09_深入了解各种布局技术

最新文章

  1. 什么镜头最适合拍风景_尼康Z口20mm的镜头拍什么好
  2. CenTos6.8安装Heartbeat
  3. 元宇宙iwemeta:赵长鹏指出,监管不懂区块链,币安是区块链技术
  4. 元气骑士里的超级计算机,元气骑士:本以为“素颜相机”够火,直到看到它,一秒笑出猪叫声...
  5. IOS控件的应用UIPageController与UIScrollView
  6. 英特尔处理器的性能监控事件文件下载
  7. Android 7 soter,微信(com.tencent.mm) - 8.0.0 - 应用 - 酷安
  8. 关于百度地图根据经纬度获取城市信息的接口
  9. Knockout应用开发指南 监控属性(Observables)
  10. Python json.dumps() 自动缩进
  11. java csv api_CSVAPIforJava
  12. AutoCAD2006安装破解图文教程
  13. comsol 5.3 matlab,COMSOL5.3在Linux下的安装
  14. swift - enumerated()
  15. 计算机断网后怎么连接网络连接,电脑突然断网, 连接不上网络怎么办? 三种方法轻松找回...
  16. OKEx货币对价格数量长度及精度
  17. 如何将pdf等非标准数据文件转换成可供EXCEL等软件分析的数据
  18. 乔安智联未能找到使用指定服务器,智联物联路由器设置和指定服务器通信
  19. python 椭圆曲线_Python、Sympy和椭圆曲线
  20. ECl@SS学习笔记(1)

热门文章

  1. Linux防火墙配置工具iptables中MASQUERADE的含义
  2. 关于iexplore.exe占用CPU100%的问题
  3. 充电器pps功能是什么_科普:PPS充电器为何不兼容笔电?
  4. ppt技巧一四步法调整段落排版
  5. 如何设置需要密码才能访问的共享文件夹?
  6. 删除字符串数组中的空字符串
  7. 常见文件编码 - 多字节编码与Unicode编码区别
  8. android打印机字体大小,热敏打印机字体大小设置,怎么设置打印机字体
  9. On the Sense of Humor [附译文]
  10. 60.(leaflet之家)leaflet虚线