android學習code3 佈局上

andriod系統是一個基於事件驅動行爲一種系統
andirod添加事件驅動有四種方式android

第一種自定義一個內部類實現OnclickListener
private class MyListenner implements OnclickListener{
 public void OnClick(View w){
  
 }app

}
而後onCreate 方法ide

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

第二種方式經過直接調用匿名匿名內部類使用工具


第三種 MainActivy直接實現OnclickListener接口
實現Onclick()方法佈局


第四種自定義函數,而後進行業務邏輯的使用this

實列1 電話撥號實列
package com.org.login;.net

import com.org.msg.MessageTools;xml

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>

相關文章
相關標籤/搜索