android 延迟执行, TextUtils类

来源:互联网 发布:巴哥犬价格知乎 编辑:程序博客网 时间:2024/06/03 21:44

android 延迟执行

1.使用Handle发送消息并处理,代码如下(推荐)

new Handler(new Handler.Callback() {      //处理接收到的消息的方法      @Override      public boolean handleMessage(Message arg0) {          //实现页面跳转          startActivity(new Intent(getApplicationContext(),MainActivity.class));          return false;      }   }).sendEmptyMessageDelayed(0, 3000); //表示延时三秒进行任务的执行  

2.使用timer

private void enterHome(){          Timer time = new Timer();          TimerTask tk = new TimerTask() {          Intent intent = new Intent(MainActivity.this,HomeActivity.class);              @Override              public void run() {                  // TODO Auto-generated method stub                                    startActivity(intent);                  finish();              }          };time.schedule(tk, 2000);                }  

timer的功能也可以通过自己构造线程,然后在线程中用sleep来模拟停止一段时间,然后再执行某个动作。

其实,看一下timertask的源码就立即可以知道,timertask就是实现了runnable接口的。也就是说,通过timer来间隔一段时间执行一个操作,也是通过一个线程来做到的。

因此,需要在主线程操作的不可通过Timer实现,推荐使用Handle发送消息实现延时处理


android.text.TextUtils的类,主要的功能如下:

是否为空字符 boolean Android.text.TextUtils.isEmpty(CharSequence str) //判断edittext是否为空

拼接字符串 String android.text.TextUtils.join(CharSequence delimiter, Object[] tokens)

拆分字符串 String[] android.text.TextUtils.split(String text, String expression)

拆分字符串使用正则 String[] android.text.TextUtils.split(String text, Pattern pattern)

确定大小写是否有效在当前位置的文本 int android.text.TextUtils.getCapsMode(CharSequence cs, int off, int reqModes)

使用HTML编码这个字符串 String android.text.TextUtils.htmlEncode(String s)

另外,String[] android.text.TextUtils.split(String text, String expression)中的expression较特殊,如果采用

TextUtils.split(someString, "-");
来分割someString的话返回的将是错误结果,正确的用法应该是
TextUtils.split(line, ",|\\-");