文档章节

android学习code3 布局上

wsl_Mr
 wsl_Mr
发布于 2015/08/06 14:40
字数 550
阅读 36
收藏 1

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>

© 著作权归作者所有

共有 人打赏支持
wsl_Mr
粉丝 9
博文 70
码字总数 26504
作品 0
海淀
私信 提问
Android必备:Android UI控件的了解与学习

看这里:Android必备:Android UI控件的了解与学习 由于工作需要,最近一段时间,需要进行Android App开发的学习,之前简单的进行过Android的了解,对于基本的Android环境的搭建等已经有过整...

Realfighter
2015/02/26
0
0
我学习android有个疑问,android这么多布局,学习来有必然要吗?

我学习android有个疑问,android这么多布局,学习来有必然要吗? 像这种TabHost布局,常用吗?

天池番薯
2015/04/16
117
1
一起学Android之Layout

本文简述在Android开发中布局的简单应用,属于基础知识,仅供学习分享使用。 概述 在Android UI开发中,布局类型主要有两种:LinearLayout(线性布局)和RelativeLayout(相对布局),两种布局类...

Alan.hsiang
12/14
0
0
Android软件开发之盘点界面五大布局(十六)

Android软件开发之盘点界面五大布局 雨松MOMO原创文章如转载,请注明:转载自雨松MOMO的博客原文地址:http://blog.csdn.net/xys289187120/article/details/6655494 1.线性布局(LinearLayout...

晨曦之光
2012/03/07
265
0
Android零基础入门第85节:Fragment使用起来非常简单

Fragment创建完成后并不能单独使用,还需要将Fragment加载到Activity中,在Activity中添加Fragment的方式有两种:静态加载和动态加载,接下来分别进行学习。 一、静态加载 静态加载Fragment非...

鑫鱻
2017/10/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

oh-my-zsh 自定义

GitHub 地址 基于 oh-my-zsh 的自定义配置,增加了一些个人常用插件与皮肤。 采用的是 git submodule 来维护,包括 oh-my-zsh,之所以这么搞,主要是手头有多台 linux 需要维护, 每台机器、...

郁也风
今天
6
0
Docker安装踩坑:E_FAIL 0x80004005的解决

参考 菜鸟教程--Windows Docker 安装 http://www.runoob.com/docker/windows-docker-install.html 官方文档-Install Docker Toolbox on Windows https://docs.docker.com/toolbox/toolbox_in......

karma123
今天
5
0
js垃圾回收机制和引起内存泄漏的操作

JS的垃圾回收机制了解吗? Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。 JS中最常见的垃圾回收方式是标记清除。 工作原理:是当变量进入环境时,将这个变量标记为“...

Jack088
昨天
17
0
大数据教程(10.1)倒排索引建立

前面博主介绍了sql中join功能的大数据实现,本节将继续为小伙伴们分享倒排索引的建立。 一、需求 在很多项目中,我们需要对我们的文档建立索引(如:论坛帖子);我们需要记录某个词在各个文...

em_aaron
昨天
27
0
"errcode": 41001, "errmsg": "access_token missing hint: [w.ILza05728877!]"

Postman获取微信小程序码的时候报错, errcode: 41001, errmsg: access_token missing hint 查看小程序开发api指南,原来access_token是直接当作parameter的(写在url之后),scene参数一定要...

两广总督bogang
昨天
33
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部