第一步:先创建一个Java.class来继承Dialog暂且其名为MyDialog
第二步:写一个文件视图布局
第三步:在新建的MyDialog里面重载onCreate()方法里面用setContentView(你第二步所写的布局文件);在此方法里面将所有第二步所写布局空间找到并实例化
第四步:如是TextView想要更改里面内容,为了更加灵活我们实例一个String 并将String get、set出来然后在onCreate里面判断所传的字符串是否为空,如不为空则setText(你所写的String)
如是Button需加点击事件则创建一个接口来进行转换并将接口实例化和get、set(如此是为了在主类进行更改,更为灵活方便)在onCreate();里面正常给按钮添加点击事件在onClick里面进行判断接口是否为空,如不为空则进行接口里面的方法
package com.example.dialogpractice;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MyDialog extends Dialog {
private TextView title;
private Button yes;
private TextView message;
private Button no;
private String tiltlstr;
private String messstr;
private String nostr;
private String yesstr;
// 此接口是用来转换点击事件
private onyesClickListener onyesClickListener;
private onNoClickListener onNoClickListener;
public interface onyesClickListener{
void onYesClick();
}
public interface onNoClickListener{
void onNoClick();
}
public MyDialog.onNoClickListener getOnNoClickListener() {
return onNoClickListener;
}
public void setOnNoClickListener(MyDialog.onNoClickListener onNoClickListener) {
this.onNoClickListener = onNoClickListener;
}
public MyDialog.onyesClickListener getOnyesClickListener() {
return onyesClickListener;
}
public void setOnyesClickListener(MyDialog.onyesClickListener onyesClickListener) {
this.onyesClickListener = onyesClickListener;
}
public String getNostr() {
return nostr;
}
public void setNostr(String nostr) {
this.nostr = nostr;
}
public String getYesstr() {
return yesstr;
}
public void setYesstr(String yesstr) {
this.yesstr = yesstr;
}
public String getTiltlstr() {
return tiltlstr;
}
public void setTiltlstr(String tiltlstr) {
this.tiltlstr = tiltlstr;
}
public String getMessstr() {
return messstr;
}
public void setMessstr(String messstr) {
this.messstr = messstr;
}
public MyDialog(@NonNull Context context) {
super(context);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_item);
no=findViewById(R.id.no);
title=findViewById(R.id.title);
yes=findViewById(R.id.yes);
message=findViewById(R.id.message);
if(tiltlstr!=null){
title.setText(tiltlstr);
}
if(messstr!=null){
message.setText(messstr);
}
if(yesstr!=null){
yes.setText(yesstr);
}
if(nostr!=null){
no.setText(nostr);
}
yes.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("TAG","点击了点击事件");
if(onyesClickListener!=null){
onyesClickListener.onYesClick();
}
}
});
no.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(onNoClickListener!=null){
onNoClickListener.onNoClick();
}
}
});
}
}