自定义Dialog

selfDialog = new MyDialog(mContext);
selfDialog.setTitle("自定义话题");
selfDialog.setMessage1("话题名称");
selfDialog.setMessage2("话题简介");

    //final String editStr1 = selfDialog.getEditStr1();
    //String editStr2 = selfDialog.getEditStr2();
    selfDialog.setYesOnclickListener("确定", new MyDialog.onYesOnclickListener() {
        @Override
        public void onYesClick() {
            final String editStr1 = selfDialog.messageTv1.getText().toString();
            String editStr2 = selfDialog.messageTv2.getText().toString();
            Toast.makeText(mContext, "点击了--确定--按钮", Toast.LENGTH_LONG).show();
            selfDialog.dismiss();
            Intent data = new Intent();
            data.putExtra("SelfHuaTieName",editStr1 );
            LogUtils.e(TAG, "SelfHuaTieName   " + editStr1);
            setResult(10112, data);
            finish();
        }
    });
    selfDialog.setNoOnclickListener("取消", new MyDialog.onNoOnclickListener() {
        @Override
        public void onNoClick() {
            Toast.makeText(mContext, "点击了--取消--按钮", Toast.LENGTH_LONG).show();
            selfDialog.dismiss();
        }
    });
    selfDialog.show();

/**

  • Created by JsonQiu on 2017/8/29 16:08.
    */

public class MyDialog extends Dialog {
private Button yes;
private Button no;
private TextView titleTv;
public EditText messageTv1;
public EditText messageTv2;
private String titleStr;
private String messageStr1;
private String messageStr2;
private String yesStr, noStr;

private onNoOnclickListener noOnclickListener;
private onYesOnclickListener yesOnclickListener;

public void setNoOnclickListener(String str, onNoOnclickListener onNoOnclickListener) {
    if (str != null) {
        noStr = str;
    }
    this.noOnclickListener = onNoOnclickListener;
}

public void setYesOnclickListener(String str, onYesOnclickListener onYesOnclickListener) {
    if (str != null) {
        yesStr = str;
    }
    this.yesOnclickListener = onYesOnclickListener;
}

public MyDialog(Context context) {
    super(context, R.style.MyDialog);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.my_dialog);
    setCanceledOnTouchOutside(false);

    initView();
    initData();
    initEvent();

}

private void initEvent() {
    yes.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (yesOnclickListener != null) {
                yesOnclickListener.onYesClick();
            }
        }
    });
    no.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (noOnclickListener != null) {
                noOnclickListener.onNoClick();
            }
        }
    });
}

private void initData() {
    if (titleStr != null) {
        titleTv.setText(titleStr);
    }
    if (messageStr1 != null) {
        messageTv1.setHint(messageStr1);
    }
    if (messageStr2 != null) {
        messageTv2.setHint(messageStr2);
    }
    if (yesStr != null) {
        yes.setText(yesStr);
    }
    if (noStr != null) {
        no.setText(noStr);
    }
}

private void initView() {
    yes = (Button) findViewById(R.id.mydialog_ye);
    no = (Button) findViewById(R.id.mydialog_no);
    titleTv = (TextView) findViewById(R.id.mydialog_title);
    messageTv1 = (EditText) findViewById(R.id.mydialog_et1);
    messageTv2 = (EditText) findViewById(R.id.mydialog_et2);
}

public void setTitle(String title) {
    titleStr = title;
}

public void setMessage1(String message) {
    messageStr1 = message;
}

public void setMessage2(String message) {
    messageStr2 = message;
}

public String getEditStr(EditText etView) {
    return etView.getText().toString();
}

public String getEditStr1( ) {
    return messageTv1.getText().toString();
}
public String getEditStr2( ) {
    return messageTv2.getText().toString();
}

public interface onYesOnclickListener {
    public void onYesClick();
}

public interface onNoOnclickListener {
    public void onNoClick();
}

}


android:layout_width="match_parent"
android:layout_height="match_parent">



    

    

    

    

    

        

你可能感兴趣的:(自定义Dialog)