JsdMainDialog.java
package com.jsd.demo;import android.app.Activity;import android.content.Context;import android.graphics.Color;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;/** * * @author jiangshide * */public class JsdMainDialog extends Activity { private Context mContext; private Button mSub; private TextView mResultValue; public static Handler handler = new Handler(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); getViewById(); } public void getViewById(){ mContext = this; mSub = (Button) this.findViewById(R.id.sub); mResultValue = (TextView) this.findViewById(R.id.resultValue); mResultValue.setText("没有通过Handler处理"); mSub.setOnClickListener(listener); } private OnClickListener listener = new OnClickListener() { @Override public void onClick(View v) { switch (v.getId()) { case R.id.sub: final String flag = "rqbackvalue"; DialogCustomer dc = new DialogCustomer(mContext,flag); dc.show(); handler = new Handler(){ public void handleMessage(Message msg) { String resultFlag = msg.getData().getString("flags"); if(resultFlag.equalsIgnoreCase(flag)){ mResultValue.setText("这是通过Handler处理过后来显示数据的"); mResultValue.setTextColor(Color.CYAN); mResultValue.setTextSize(30); } }; }; break; default: break; } } };}
DialogCustomer.java:
package com.jsd.demo;import android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.os.Message;import android.view.View;import android.widget.Button;/** * * @author jiangshide * */public class DialogCustomer extends Dialog { private Context mContext; private Button ok; String flag; public DialogCustomer(Context c,String flag) { super(c); this.mContext = c; this.flag = flag; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.dialog); getViewById(); } public void getViewById(){ ok = (Button) this.findViewById(R.id.dialog_ok); ok.setOnClickListener(listener); } private android.view.View.OnClickListener listener = new android.view.View.OnClickListener() { @Override public void onClick(View v) { switch (v.getId()) { case R.id.dialog_ok: Message msg = new Message();//获取设置一个信息保存点 msg.what=1; msg.getData().putString("flags", flag); JsdMainDialog.handler.sendMessage(msg);//把数据放进LOOPER队列里 dismiss(); break; } } };}
dialog.xml: