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 classJsdmaindialog extends Activity {PrivateContext Mcontext; PrivateButton msub;PrivateTextView Mresultvalue; Public StaticHandler Handler =NewHandler (); @Override Public voidonCreate (Bundle savedinstancestate) {super.oncreate (savedinstancestate); Setcontentview (R.layout.main); Getviewbyid (); } Public voidGetviewbyid () {Mcontext= This; Msub= (Button) This. Findviewbyid (r.id.sub); Mresultvalue= (TextView) This. Findviewbyid (R.id.resultvalue); Mresultvalue.settext ("not handled by handler ."); Msub.setonclicklistener (listener); } PrivateOnclicklistener listener =NewOnclicklistener () {@Override Public voidOnClick (View v) {Switch(V.getid ()) { Caser.id.sub:final String Flag="Rqbackvalue"; Dialogcustomer DC=NewDialogcustomer (Mcontext,flag); Dc.show (); Handler=NewHandler () { Public voidhandlemessage (Message msg) {String Resultflag= Msg.getdata (). GetString ("Flags"); if(Resultflag.equalsignorecase (flag)) {Mresultvalue.settext ("This is done through handler, which later shows the data"); Mresultvalue.settextcolor (Color.cyan); Mresultvalue.settextsize ( -); } }; }; 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 classDialogcustomer extends Dialog {PrivateContext Mcontext; PrivateButton OK; String Flag; PublicDialogcustomer (Context c,string flag) {super (c); This. Mcontext =C; This. Flag =Flag;} @Overrideprotected voidonCreate (Bundle savedinstancestate) {super.oncreate (savedinstancestate); Setcontentview (R.layout.dialog); Getviewbyid (); } Public voidGetviewbyid () {OK= (Button) This. Findviewbyid (R.ID.DIALOG_OK); Ok.setonclicklistener (listener); } PrivateAndroid.view.View.OnClickListener listener =NewAndroid.view.View.OnClickListener () {@Override Public voidOnClick (View v) {Switch(V.getid ()) { Caser.id.dialog_ok:message msg=NewMessage ();//Get set up a message save pointmsg.what=1; Msg.getdata (). putstring ("Flags", flag); JsdMainDialog.handler.sendMessage (msg);//Put the data in the Looper queue.dismiss (); Break; } } };}
Dialog.xml:
<?xml version="1.0"encoding="Utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"Android:layout_width="match_parent"Android:layout_height="match_parent"android:orientation="Vertical"> <TextView android:layout_width="wrap_content"Android:layout_height="wrap_content"Android:text="Pass the arguments past and perform a judgment operation when returning"/> <Button Android:id="@+id/dialog_ok"Android:layout_width="wrap_content"Android:layout_height="wrap_content"Android:text="Please click"/></linearlayout>
The Android custom dialog box uses static handler to pass parameters