zoukankan      html  css  js  c++  java
  • Android利用Looper在子线程中改变UI

    MainActivity如下:

    package cn.testlooper;
    import android.app.Activity;
    import android.os.Bundle;
    import android.os.Looper;
    import android.widget.TextView;
    import android.widget.Toast;
    /**
     * Demo描述:
     * 在子线程中Looper的使用
     * 
     * 测试结果:
     * 可在子线程中更改UI
     * 
     * 原理备注:
     * 在View和Toast的源码中均含有一个Handle
     * 这样的话在子线程中:
     * Handle Message Looper MessageQueue这套机制 
     * 就齐备了.
     * 关于此原理有待于进一步研究
     * 
     * 参考资料:
     * http://blog.csdn.net/xiaanming/article/details/9344703
     */
    public class MainActivity extends Activity {
        public TextView mTextView;
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);
    		init();
    	}
    
    	private void init() {
    		mTextView=(TextView) findViewById(R.id.textView);
    		testLooper();
    	}
    	
    	private void testLooper(){
    		new Thread(new Runnable() {
    			@Override
    			public void run() {
    				Looper.prepare();
    				mTextView.setText("9527");
    				Toast.makeText(MainActivity.this, "hello", Toast.LENGTH_LONG).show();
    				Looper.loop();
    			}
    		}).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="@string/hello_world"
            android:layout_centerInParent="true"
            android:textSize="25sp"
         />
    
    </RelativeLayout>


     

  • 相关阅读:
    .net core 3.0中可以使用gRPC了
    Java clone() 浅克隆与深度克隆(转)
    CENTOS下搭建SVN服务器(转)
    设置eclipse不同的workspace共享配置
    在Eclipse添加Android兼容包( v4、v7 appcompat )(转)
    【原创】Nginx+PHP-FPM优化技巧总结(转)
    【汇总】PHP-FPM 配置优化(转)
    nginx File not found 错误(转)
    nginx php-fpm安装配置(转)
    nginx优化(转)
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3233897.html
Copyright © 2011-2022 走看看