最近发现Message,发送消息可以传递参数,这个思路很好,所以写了一个例子,点击屏幕,给Activity发送一个消息,传递两个参数,并把这个activity销毁掉!

转载请标明出处:http://blog.csdn.net/wdaming1986/article/details/6748688

程序打开界面: 点击屏幕,销毁activity弹出Toast:

看代码:

MainActivity。java类:

package com.cn.android;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.widget.Toast;public class MainActivity extends Activity {final static int CANSHU = 1;public Handler mHandler=new Handler(){public void handleMessage(Message msg) {switch(msg.what){case CANSHU :String str1 = msg.getData().getString("text1");//接受msg传递过来的参数String str2 = msg.getData().getString("text2");//接受msg传递过来的参数initFinishMainActivity(str1, str2);                  break;default         : break;}}};@Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        InitMainActivity();    }public void InitMainActivity(){setContentView(new MainActivityView(this,this));}public void initFinishMainActivity(String str1, String str2){Toast.makeText(MainActivity.this, str1+str2, Toast.LENGTH_LONG).show();finish();}}

MainActivityView。java类:

package com.cn.android;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Rect;import android.os.Bundle;import android.os.Message;import android.view.MotionEvent;import android.view.View;public class MainActivityView extends View{private MainActivity activity;private Context context;private Bitmap m_Bitmap;public MainActivityView(Context context, MainActivity activity) {super(context);this.activity = activity;this.context = context;initBitmap();}public void initBitmap(){m_Bitmap = BitmapFactory.decodeResource(this.getResources(),R.drawable.bg);}@Overridepublic void onDraw(Canvas canvas) {canvas.drawBitmap(m_Bitmap, 0, 0, null);}@Overridepublic boolean onTouchEvent(MotionEvent event) {int x = (int) event.getX();int y = (int) event.getY();Rect rect;rect = new Rect(0,0,320,480);if(rect.contains(x,y)){Message msg = new Message();msg.what = MainActivity.CANSHU;Bundle bundle = new Bundle();                    bundle.putString("text1","大明的消息传递参数的例子!");  //往Bundle中存放数据                     bundle.putString("text2","Time:2011-09-05");  //往Bundle中put数据                     msg.setData(bundle);//mes利用Bundle传递数据                     activity.mHandler.sendMessage(msg);//用activity中的handler发送消息}return super.onTouchEvent(event);}}


更多相关文章

  1. Android(安卓)http get/post传递参数
  2. Android开发之Toast全接触
  3. 程序设置横屏后,锁屏时会被销毁一遍,解锁时又重新加载onCreat的问
  4. Android客户端与服务器之间传递json数据
  5. android aidl 传递parcelable
  6. Android开发之自定义相机设定照片和预览参数问题
  7. android java 层参数重载glVertexAttribPointer 在es20 C 接口中
  8. 【读书笔记-《Android游戏编程之从零开始》】4.Android(安卓)游
  9. 【Android】创建Popwindow弹出菜单

随机推荐

  1. 专业级的MySQL开发设计规范及SQL编写规范
  2. Navicat如何远程连接云服务器数据库
  3. 如何把本地mysql迁移到服务器数据库
  4. Mysql 查询JSON结果的相关函数汇总
  5. Mysql 实现字段拼接的三个函数
  6. 阿里云centos7安装mysql8.0.22的详细教程
  7. 浅谈MySQL中的自增主键用完了怎么办
  8. MySQL 查询的排序、分页相关
  9. MySql索引使用策略分析
  10. mysql 如何动态修改复制过滤器