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>