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

    MainActivity如下:

    package cc.testui2;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.TextView;
    import android.app.Activity;
    /**
     * Demo描述:
     * 在子线程中更改UI的方式二
     * 
     * 在子线程中采用View的post()方法.
     * 依据源码可知它在最终还是调用了handler的post()方法.
     * 这个handler是主线程一个与View紧密相关的handler
     * 
     * 参考资料:
     * http://blog.csdn.net/guolin_blog/article/details/9991569
     * Thank you very much
     */
    
    public class MainActivity extends Activity {
    	 private TextView mTextView;
    	 private TextView mTipTextView;
    	 private Button mButton;
    		@Override
    		protected void onCreate(Bundle savedInstanceState) {
    			super.onCreate(savedInstanceState);
    			setContentView(R.layout.main);
    			init();
    		}
    	    private void init(){
    	    	mTextView=(TextView) findViewById(R.id.textView);
    	    	mTipTextView=(TextView) findViewById(R.id.tipTextView);
    	    	mButton=(Button) findViewById(R.id.button);
    	    	mButton.setOnClickListener(new OnClickListenerImpl());
    	    }
    		
    	private class OnClickListenerImpl implements OnClickListener {
    		@Override
    		public void onClick(View v) {
    			mTipTextView.post(new Runnable() {
    				@Override
    				public void run() {
    					mTextView.setText("My number is 9527");
    				}
    			});
    		}
    	}
    }
    


     

    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:id="@+id/tipTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="测试在子线程中更新UI" 
            android:layout_centerInParent="true"
            />
    
    </RelativeLayout>


     

  • 相关阅读:
    .NET实现Excel文件的读写 未测试
    权限管理设计
    struts1中配置应用
    POJ 2139 Six Degrees of Cowvin Bacon(floyd)
    POJ 1751 Highways
    POJ 1698 Alice's Chance
    POJ 1018 Communication System
    POJ 1050 To the Max
    POJ 1002 4873279
    POJ 3084 Panic Room
  • 原文地址:https://www.cnblogs.com/riskyer/p/3283648.html
Copyright © 2011-2022 走看看