import java.util.Date; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.widget.EditText; public class LatihanActivity extends Activity implements Callback { private EditText text; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { text.setText((String) msg.obj); } }; @Override public void updateText (String message) { Message msg = new Message(); msg.obj = message; this.handler.sendMessage(msg); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); this.text = (EditText) findViewById(R.id.text); new TimeUpdater (LatihanActivity.this).start(); } } class TimeUpdater extends Thread { private LatihanActivity activity; public TimeUpdater (LatihanActivity activity) { this.activity = activity; } public void run () { while (true) { activity.updateText(new Date().toString()); try { sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } } interface Callback { public void updateText (String message); }
Kode diatas adalah program untuk menampilkan tanggal dan waktu pada sebuah EditText. Thread TimeUpdater akan mengupdate EditText tersebut setiap 1 detik melalui method updateText() dimana method tersebut akan memanggil handler dan mengirimkan object Message pada method handleMessage().
Mohon maaf jika kode di atas masih kurang efisien karena saya juga masih dalam proses belajar, Selamat mencoba :)
halo mas ikhsan,. habis liat postingan ini, saya jadi berpikir tentang penggunaan thread untuk menggeser sebuah item, misalnya menggeser textbox atau yg lainnya menggunakan thread,. kira" bisa atau tidak ya? hehe :)
ReplyDeleteBisa :)
ReplyDeleteWow iya kah? Bisakah mas share contohnya misalkan aja button bergerak dri atas ke bawah ntah kenapa saya jd penasaran XD
DeleteMakasih mas :D