检查是否单击了对话框片段的ok按钮 - android

时间:2017-07-11 11:17:11

标签: java android android-fragments

我有一个如图所示的对话框片段,显示一个好的按钮和一个取消按钮。如何检查是否单击了对话框片段的“确定”按钮。以下是代码段

DialogFragment dialog = TextEditDialogFragment.newInstance(FragmentActivity.this,
                    R.id.profile_setting_linear_layout_name, name, R.string.firstname, R.string.ok, R.string.cancel);
            dialog.show(getFragmentManager(), "First Name");
if(ok button is clicked){
//do something else
}

非常感谢

3 个答案:

答案 0 :(得分:0)

试试这个 在您的活动顶部,以便您可以访问活动中的任何位置

//declare boolean
public boolean clicked=false;

按钮在您的对话框按钮上执行点击事件onclick listener,如下所示

button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) 
{
    //button is clicked change boolean value
    clicked=true;
}
});

现在根据您的要求执行点击或未点击按钮的操作         如果(点击)        {           //在这里执行你的行动        }        其他        {          // 其他行为        }

答案 1 :(得分:0)

见这个

import android.app.AlertDialog;
            import android.app.Dialog;
            import android.content.DialogInterface;
            import android.os.Bundle;
            import android.support.v4.app.DialogFragment;

            public class AlertDFragment extends DialogFragment {
    private EventListenr el;
    public void setListenre(EventListenr el){
    this.el=el;}

                @Override
                public Dialog onCreateDialog(Bundle savedInstanceState) {
                    return new AlertDialog.Builder(getActivity())
                            // Set Dialog Icon
                            .setIcon(R.drawable.androidhappy)
                            // Set Dialog Title
                            .setTitle("Alert DialogFragment")
                            // Set Dialog Message
                            .setMessage("Alert DialogFragment Tutorial")

                            // Positive button
                            .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog, int which) {
                                    // Do something else
                             el.okClick();
                                }
                            })

                            // Negative Button
                            .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog, int which) {
                                    // Do something else
                                }
                            }).create();
                }
            }

    interface EventListener{
    void okClick();
    }

on Activity等。

alertDialog.setLisnter(this);

通过EventListenr实现活动或片段

答案 2 :(得分:0)

试试这个。

上课:

private boolean clicked;

构建对话框时:

Dialog dl = dialog.getDialog();
Button button = dl.findViewbyid(R.id.btn); //Replace with dialog button ID
button.setOnclicklistener(new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialogInterface, int i) {
        clicked = true;
    }
});