博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android学习code3 布局上
阅读量:5796 次
发布时间:2019-06-18

本文共 3696 字,大约阅读时间需要 12 分钟。

hot3.png

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
 * 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);
  
  //第四种自定义一个方法调用
  
 }
 
 
 
 /**
  * 自定义内容部类
  * 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=""
    xmlns: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

你可能感兴趣的文章
限制CheckBoxList控件只能单选
查看>>
Java访问文件夹中文件的递归遍历代码Demo
查看>>
项目笔记:测试类的编写
查看>>
用关系型NoSQL回到未来
查看>>
如何迅速分析出系统CPU的瓶颈在哪里?
查看>>
通过容器编排和服务网格来改进Java微服务的可测性
查看>>
re:Invent解读:没想到你是这样的AWS
查看>>
当我们谈网络时,我们谈些什么(5)链路层概述
查看>>
PyTips 0x02 - Python 中的函数式编程
查看>>
阿里云安全肖力:安全基础建设是企业数字化转型的基石 ...
查看>>
STM32学习笔记(三)——外部中断的使用
查看>>
使用《Deep Image Prior》来做图像复原
查看>>
如何用纯 CSS 为母亲节创作一颗像素画风格的爱心
查看>>
Linux基础命令---rmdir
查看>>
阿里云胡晓明:未来将探索区块链在工业互联网领域的应用
查看>>
Java Memento Pattern(备忘录模式)
查看>>
优秀程序员共有的7种优秀编程习惯
查看>>
iOS sqlite3(数据库)
查看>>
粤出"飞龙",打造新制造广东样本
查看>>
编玩边学获数千万元A轮融资,投资方为君联资本
查看>>