zoukankan      html  css  js  c++  java
  • android之消息机制(二)

    消息通道:Looper

    首先编写main.xml文件

    代码如下:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    	<TextView 
    	    android:id="@+id/info"
    	    android:layout_width="fill_parent"
    	    android:layout_height="wrap_content"/>
    	<Button 
    	    android:id="@+id/but"
    	    android:layout_width="fill_parent"
    	    android:layout_height="wrap_content"
    	    android:text="启动"/>
    </LinearLayout>
     
    

      然后改写Activity.java类

    代码如下:

    package com.example.myfirstproject;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Timer;
    import java.util.TimerTask;
    
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Looper;
    import android.os.Message;
    import android.app.Activity;
    import android.content.pm.ActivityInfo;
    import android.content.res.Configuration;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.ViewGroup;
    import android.widget.*;
    
    public class MainActivity extends Activity {
    	private TextView info;
    	private Button but;
    	private static final int SET = 1;
    	
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            this.info = (TextView)super.findViewById(R.id.info);
            this.but = (Button)super.findViewById(R.id.but);
            this.but.setOnClickListener(new OnClickListenerlmpl());
        }    
        private class OnClickListenerlmpl implements OnClickListener{
        	public void onClick(View view){
        		switch(view.getId()){
        		case R.id.but:
        			Looper looper = Looper.myLooper();
        			MyHandler myHandler = new MyHandler(looper);
        			myHandler.removeMessages(0);
        			String data = "hahahaha";
        			Message msg = myHandler.obtainMessage(SET,1,1,data);
        			myHandler.sendMessage(msg);
        			break;
        		}
        	}
        }
        private class MyHandler extends Handler{
        	public MyHandler(Looper looper){
        		super(looper);
        	}
        	public void handleMessage(Message msg){
        		switch(msg.what){
        		case 1:
        			MainActivity.this.info.setText(msg.obj.toString());
        		}
        	}
        }
    }
    

      运行效果:

    态度决定高度,细节决定成败,
  • 相关阅读:
    Android getResources的作用和需要注意点
    Android 中的Affinity
    关于Android下各个布局方式里面LayoutParams的用法
    kaifa xin
    imageVIew
    实验三 区域四连通填充算法
    实验四 二维几何变换
    OpenGL开发库的详细介绍zz
    附加实验2 OpenGL变换综合练习
    实验3 OpenGL几何变换
  • 原文地址:https://www.cnblogs.com/lxk2010012997/p/3996216.html
Copyright © 2011-2022 走看看