zoukankan      html  css  js  c++  java
  • Android在子线程中更新UI(一)

    MainActivity如下:

    package cc.testui1;
    
    import android.os.Bundle;
    import android.os.Handler;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.TextView;
    import android.app.Activity;
    /**
     * Demo描述:
     * 在子线程中更改UI的方式一
     * 
     * 在子线程中利用主线程的Handler的post()方法
     * 更改UI这个在子线程中sendMessage()原理和
     * 形式都很类似.
     * 
     * 参考资料:
     * http://blog.csdn.net/guolin_blog/article/details/9991569
     * Thank you very much
     */
    
    public class MainActivity extends Activity {
        private TextView mTextView;
        private Handler mHandler;
        private Button mButton;
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);
    		init();
    	}
        private void init(){
        	mHandler=new Handler();
        	mTextView=(TextView) findViewById(R.id.textView);
        	mButton=(Button) findViewById(R.id.button);
        	mButton.setOnClickListener(new OnClickListenerImpl());
        }
        
        private class OnClickListenerImpl implements OnClickListener{
    		@Override
    		public void onClick(View v) {
    			new Thread(){
    	    		public void run() {
    	    			mHandler.post(new Runnable() {
    						@Override
    						public void run() {
    							mTextView.setText("My number is 007");
    						}
    					});
    	    		};
    	    	}.start();
    			
    		}
        	
        }
    	
    }
    

    main.xml

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
       >
    
         <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="test"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="50dip"
            />
         
         <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="120dip"
            />
        
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="测试在子线程中更新UI" 
            android:layout_centerInParent="true"
            />
    
    </RelativeLayout>


     

  • 相关阅读:
    jQuery Mobile-jquery Mobile 怎么用ajax提交表单
    Passing data between pages in JQuery Mobile | Ram's Blog
    jQuery Mobile Docs
    jquery mobile header title左对齐 button右对齐
    jquery mobile -role
    jQueryMobile$(document).ready 等价于?( jQuery mobi...
    HTML5,jQuery Mobile 可视化生成器 Tiggzi
    WebApi系列~开放的CORS,跨域资源访问对所有人开放
    WebApi系列~目录
    WebApi系列~基于单请求封装多请求的设计~请求的安全性设计与实现
  • 原文地址:https://www.cnblogs.com/riskyer/p/3283619.html
Copyright © 2011-2022 走看看