1

我正在为我的自定义对话框使用以下代码。

代码在这里

我正在使用 setCustomView 方法的新布局。该布局包含一个“确定”按钮和一个“ Cancel”按钮。

单击取消时,我需要关闭对话框。

buttonCancel.setOnClickListener(new OnClickListener(){


                    @Override
                    public void onClick(View arg0) {
                        // TODO Auto-generated method stub
                        Log.d("onClick" , "YYYYY");
                        //up to this comes , here what I can wright
                    }
                });
4

5 回答 5

0

尝试这个 :

buttonCancel.setOnClickListener(new OnClickListener(){


                  @Override
                  public void onClick(View arg0) {
                     // TODO Auto-generated method stub
                     Log.d("onClick" , "YYYYY");

                     qustomDialogBuilder.dismiss();//this line will close the dialog

                  }
   });
于 2013-11-09T10:09:39.090 回答
0

dialogObject.dismiss();

你可以使用这个方法

于 2013-11-09T09:08:41.300 回答
0

在您的活动类 (TestDialogActivity) 中使用QustomDialog Source,您可以通过设置对话框的 Negative 和 Positive 按钮来设置“Ok”和“Cancel”按钮,如下所示:

private OnClickListener mShowDialogClickListener =new OnClickListener(){
    public void onClick(View v){
        QustomDialogBuilder qustomDialogBuilder = new QustomDialogBuilder(v.getContext()).
                setTitle("Set IP Address").
                setTitleColor(HALLOWEEN_ORANGE).
                setDividerColor(HALLOWEEN_ORANGE).
                setMessage("You are now entering the 10th dimension.").
                setCustomView(R.layout.example_ip_address_layout, v.getContext()).
                setIcon(getResources().getDrawable(R.drawable.ic_launcher));

        qustomDialogBuilder.setNegativeButton("Cancel", new android.content.DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                dialog.dismiss();
            }
        });

        qustomDialogBuilder.setPositiveButton("Ok", new android.content.DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                // TODO Auto-generated method stub
                /**
                 * Do something here...
                 */
            }
        });
        qustomDialogBuilder.show();
    }
};

它看起来像这样:

在此处输入图像描述

希望你会发现这很有帮助。谢谢!

于 2013-11-09T11:23:47.880 回答
0

为什么不从这里创建自定义对话框:

http://developer.android.com/guide/topics/ui/dialogs.html#CustomLayout

解释得非常清楚,也易于实施。

于 2013-11-09T09:16:14.903 回答
0

在下面替换您的TestDialogActivity喜欢,

public class TestDialogActivity extends Activity {

    private static final String HALLOWEEN_ORANGE = "#FF7F27";
    private AlertDialog alertDialog;

    private OnClickListener mShowDialogClickListener = new OnClickListener() {
        public void onClick(View v) {

            QustomDialogBuilder qustomDialogBuilder = new QustomDialogBuilder(
                    v.getContext())
                    .setTitle("Set IP Address")
                    .setTitleColor(HALLOWEEN_ORANGE)
                    .setDividerColor(HALLOWEEN_ORANGE)
                    .setMessage("You are now entering the 10th dimension.")
                    .setCustomView(R.layout.example_ip_address_layout,
                            v.getContext())
                    .setIcon(getResources().getDrawable(R.drawable.ic_launcher));

            alertDialog=qustomDialogBuilder.create();
            qustomDialogBuilder.setAlertDialog(alertDialog);
            alertDialog.show();
        }
    };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button bt = (Button) findViewById(R.id.button1);
        bt.setOnClickListener(mShowDialogClickListener);
    }

并替换setCustomView如下QustomDialogBuilder

public QustomDialogBuilder setCustomView(int resId, final Context context) {
        View customView = View.inflate(context, resId, null);
        ((TextView)customView.findViewById(R.id.ip_text)).setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                alertDialog.dismiss();
            }
        });
        ((FrameLayout)mDialogView.findViewById(R.id.customPanel)).addView(customView);
        return this;
    }

最后将以下行添加到您的QustomDialogBuilder

private AlertDialog alertDialog; public void setAlertDialog(AlertDialog alertDialog) { this.alertDialog=alertDialog; }

要关闭对话框,请单击IP Address文本。

于 2013-11-09T10:51:01.870 回答