您的位置:首页 > 移动开发 > Android开发

Android中点击事件实现的四种方法

2014-06-02 02:06 633 查看
package com.luckydog.dail;

import android.support.v7.app.ActionBarActivity;
import android.text.TextUtils;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends ActionBarActivity implements OnClickListener {

private EditText et_number;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//加载布局文件
setContentView(R.layout.fragment_main);
//查找到按钮
Button bt_dail = (Button) findViewById(R.id.bt_dail);
//查找文本
et_number = (EditText) MainActivity.this.findViewById(R.id.et_number);
//给按钮注册点击事件
//1.创建一个内部类,定义点击事件
//bt_dail.setOnClickListener(new MyListener());

//2.采用匿名内部类的方法创建点击事件
/*
* bt_dail.setOnClickListener<span style="color:#ff6666;">(</span>new OnClickListener() {

@Override
public void onClick(View v) {
callPhone();

}
}<span style="color:#ff6666;">)</span>;
*/

//3.让activity实现点击事件的接口
//bt_dail.setOnClickListener(this);

}

//4.在布局文件里面绑定一个点击的方法
public void dailButtonClicked(View view){
callPhone();
}

private void callPhone() {
String number = et_number.getText().toString().trim();

if(TextUtils.isEmpty(number)){
Toast toast = Toast.makeText(MainActivity.this, "号码 不能为空", Toast.LENGTH_LONG);
toast.show();
return;
}

Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+number));

startActivity(intent);
}

//1.内部类的点击事件的实现
/*private class MyListener implements OnClickListener{

//当按钮被点击时候的实现方法

@Override
public void onClick(View v) {

callPhone();
}
}*/

//3.接口里面未实现的方法
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.bt_dail:
callPhone();
}

}

}

总结:

1、创建一个内部类,实现点击事件;

2、用匿名内部类实现点击事件;

3、让activity自己实现点击事件,activity中所有的button都会调用xxx.setOnClickListener(this);在activity中利用switch语句实现各自xxx对应的实现方法;

public void onClick(View v){
<span style="white-space:pre">	</span>switch (v.getId()) {
case R.id.bt_dail:
callPhone();
}
}
4、在布局文件里绑定一个实现方法;
<Button
        android:onClick="dailButtonClicked"
        android:id="@+id/bt_dail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@id/et_number"
        android:text="@string/dail" />
然后在activity中加入实现方法:
public void dailButtonClicked(View view){
        callPhone();
        }


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: