Handler Demo

Posted: 25/03/2013 in Android

Thông thường để cập nhật UI trong Android ta dùng 2 cách, đó là Handler hoặc AssyncTask.

Ví dụ dưới đây sử dụng Handler để cập nhật một textview

 

package home.binh.myhandlerdemo;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MyHanderDemo extends Activity {

TextView tv;
Button bt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_hander_demo);
tv = (TextView)findViewById(R.id.textView1);
bt = (Button)findViewById(R.id.button1);
bt.setOnClickListener(new OnClickListener() {

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

}
});

}
public void updateUI(){
Thread t = new Thread(new Runnable() {

@Override
public void run() {
for (int i = 0; i < 100; i++) {
try {
Message msgObj = handler.obtainMessage();
Bundle b = new Bundle();
b.putString(“message”, Integer.toString(i));
msgObj.setData(b);
handler.sendMessage(msgObj);
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}
});
t.start();
}
private final Handler handler = new Handler() {

public void handleMessage(Message msg) {

String aResponse = msg.getData().getString(“message”);

tv.setText(aResponse);
}

};

 

}

Advertisements

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s