Android Handler簡單樣本

來源:互聯網
上載者:User

標籤:

package com.firstapp.foo.firstapp;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.widget.Button;import android.widget.ProgressBar;import android.widget.TextView;import java.util.Date;public class ThreadDemoActivity extends AppCompatActivity {    private static final String TAG = "foo";    private ProgressBar bar;    private Button btnStartThread;    private TextView tvMsg;    private Handler handler;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        handler = new MyHandler();        setContentView(R.layout.activity_thread_demo);        bar = (ProgressBar)findViewById(R.id.progressBar);        btnStartThread = (Button)findViewById(R.id.btnStartThread);        tvMsg = (TextView)findViewById(R.id.tvMsg);        btnStartThread.setOnClickListener(v -> {            new Thread(()->{                for (int i=0; i< 100; i++){                    bar.setProgress(i);                    try {                        Thread.sleep(30);                    } catch (InterruptedException e) {                        e.printStackTrace();                    }                    Log.i(TAG, "Thread Info:" + i);                }                Bundle bundle = new Bundle();                bundle.putString("msg","你好");                // other ...                Message message = handler.obtainMessage();                message.what = 2;                message.setData(bundle);                handler.sendMessage(message);                /* 若訊息除訊息碼外,無附加參數,則下面一句更簡便 */                //handler.sendEmptyMessage(2);            }).start();        });    }    class MyHandler extends  Handler {        @Override        public void handleMessage(Message msg) {            switch (msg.what){                case 2:                    Bundle data = msg.getData();                    String txt = data.getString("msg");                    tvMsg.setText(txt + ", 線程完成:" + new Date().toString() );                    break;            }        }    }}

 

Android Handler簡單樣本

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.