使用Android handler的一個簡單例子
一般情況下,我們情況下,我們從網絡下載數據時或者加載很多的數據時,我們一般不會在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); } };
}</pre>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="<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></pre>