使用Android handler的一个简单例子

jopen 11年前

一般情况下,我们情况下,我们从网络下载数据时或者加载很多的数据时,我们一般不会在oncreat()方法里面写,因为这样就会出现我们经常遇到的黑屏现象,影响用户体验,这是我们一般把他交给handler去处理,另外启一个线程,好了废话不多说了 直接上代码,希望高手指教,activity

package com.hipikids.szh;    import android.app.Activity;  import android.os.Bundle;  import android.os.Handler;  import android.view.View;  import android.view.View.OnClickListener;  import android.widget.Button;    public class HandlerTextActivity extends Activity implements OnClickListener {      /** Called when the activity is first created. */   private Button start = null;   private Button end = null;      @Override      public void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.main);          start = (Button)findViewById(R.id.start);          end = (Button)findViewById(R.id.end);          start.setOnClickListener(this);          end.setOnClickListener(this);      }   @Override   public void onClick(View v) {    // TODO Auto-generated method stub    switch (v.getId()) {    case R.id.start:     handler.post(runnnable);//将线程添加到消息队列中     break;      case R.id.end:     handler.removeCallbacks(runnnable);//杀掉线程     break;    }   }      Handler handler = new Handler();   Runnable runnnable = new Runnable() {        @Override    public void run() {     // TODO Auto-generated method stub     System.out.println("runnnable");     handler.postDelayed(runnnable, 3000);    }   };  }
<?xml version="1.0" encoding="utf-8"?>  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"      android:layout_width="fill_parent"      android:layout_height="fill_parent"      android:orientation="vertical" >       <Button android:id="@+id/start"         android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:text="开始"         />      <Button android:id="@+id/end"         android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:text="结束"         />    </LinearLayout>