点击事件的必备条件:实现OnClickListener接口,重写v)方法
以拨号简单案例为例,如下图效果:
逻辑流程:获取点击对象,获取数据
给对象设置监听类
实现OnClickListener接口,重写onClick(View v)方法
onClick(View v)逻辑:获取输入内容:使用EditText对象的getText()方法,该方法返回值为Editable,需要用toString()转换成String类型
判断输入是否为空,TextUtils.isEmpty(str)方法判断字符串str是否为空
为空则提示号码不能为空,使用Toast.makeText(MainActivity.this, "号码不能为空", Toast.LENGTH_SHORT).show();,Toast makeText (Context context, CharSequence text, int duration)返回值为Toast,参数列表(Context对象,提示内容,显示时长)如果不为空,new一个Intent对象,使用Intent对象的setAction(String action)方法设置动作,使用Intent对象的setData(Uri uriData)方法设置数据。startActivity(Intent intent)方法启动Activity。
注:应该在程序清单文件AndroidManifest.xml中添加,拨打电话时,美国紧急电话不会直接拨打
三种方法:第四种不推荐,前三种酌情使用
1. 内部实现类
布局文件:activity_main.xml
MainActivity.javapackage com.example.onclick1;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.storage.OnObbStateChangeListener;
import android.text.TextUtils;
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;
public class MainActivity extends Activity { private EditText editText; @Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main)