中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Android子線程更新UI兩種方法

2018-07-20    來(lái)源:open-open

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

大家都知道直接在子線程里更新UI是不被允許的,所以下面提供兩種方法解決問(wèn)題:

直接上代碼:

    package com.wr.updateui;  
      
    import android.annotation.SuppressLint;  
    import android.app.Activity;  
    import android.os.Bundle;  
    import android.os.Handler;  
    import android.os.Message;  
    import android.view.Menu;  
    import android.view.MenuItem;  
    import android.view.View;  
    import android.view.View.OnClickListener;  
    import android.widget.Button;  
    import android.widget.TextView;  
      
    public class MainActivity extends Activity {  
      
        private static final int UPDATE_TEXT = 1;  
        private TextView tv;  
        private Button btn;  
        @SuppressLint("HandlerLeak")  
        private Handler handler = new Handler() {  
            public void handleMessage(Message msg) {  
                switch (msg.what) {  
                case UPDATE_TEXT:  
                    tv.setText("nihao");  
                default:  
                    break;  
                }  
            }  
        };  
      
        @Override  
        protected void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
            setContentView(R.layout.activity_main);  
      
            tv = (TextView) findViewById(R.id.textView);  
            btn = (Button) findViewById(R.id.button);  
            btn.setOnClickListener(new OnClickListener() {  
      
                @Override  
                public void onClick(View arg0) {  
                    // TODO Auto-generated method stub  
                      
                    /**  
                     * 第一種使用Android的異步處理機(jī)制。 
                     */  
                      
                    /* 
                    new Thread(new Runnable() { 
     
                        @Override 
                        public void run() { 
                            // TODO Auto-generated method stub 
                            Message message = new Message(); 
                            message.what = UPDATE_TEXT; 
                            handler.sendMessage(message); 
                        } 
                    }).start(); 
                    */  
                      
                    /**  
                     * 第二種,直接使用runOnUiThread. 
                     */  
                    runOnUiThread(new Runnable() {  
                          
                        @Override  
                        public void run() {  
                            // TODO Auto-generated method stub  
                            tv.setText("nihao");  
                        }  
                    });  
                      
                }  
            });  
        }  
      
        @Override  
        public boolean onCreateOptionsMenu(Menu menu) {  
            // Inflate the menu; this adds items to the action bar if it is present.  
            getMenuInflater().inflate(R.menu.main, menu);  
            return true;  
        }  
      
        @Override  
        public boolean onOptionsItemSelected(MenuItem item) {  
            // Handle action bar item clicks here. The action bar will  
            // automatically handle clicks on the Home/Up button, so long  
            // as you specify a parent activity in AndroidManifest.xml.  
            int id = item.getItemId();  
            if (id == R.id.action_settings) {  
                return true;  
            }  
            return super.onOptionsItemSelected(item);  
        }  
    }  

標(biāo)簽: ssl 代碼

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:Struts2 多文件上傳

下一篇:用Jquery實(shí)現(xiàn)打字效果的代碼