Java 如何使用android使自定义按钮在自定义警报对话框中工作

Java 如何使用android使自定义按钮在自定义警报对话框中工作,java,android,xml,button,Java,Android,Xml,Button,我无法使自定义按钮正常工作,我的要求很简单,当我的自定义对话框打开时,我只需单击按钮即可取消它。我不想使用内置的警报对话框按钮。请提前帮助我谢谢您。在对话框上声明您的按钮xml,然后在该按钮上设置ClickListener public class MainActivity extends AppCompatActivity { private TextView regis; public Button bt_ok; @Override protected voi

我无法使自定义按钮正常工作,我的要求很简单,当我的自定义对话框打开时,我只需单击按钮即可取消它。我不想使用内置的警报对话框按钮。请提前帮助我谢谢您。

在对话框上声明您的按钮xml,然后在该按钮上设置ClickListener

public class MainActivity extends AppCompatActivity
{
    private TextView regis;
    public Button bt_ok;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        bt_ok=findViewById(R.id.bt_ok);
        getSupportActionBar().hide();
        SharedPreferences prefs = getSharedPreferences("prefs", MODE_PRIVATE);
        boolean firstStart = prefs.getBoolean("firstStart", true);
        if (firstStart)
        {
            showStartDialog();
        }
    }
    public void showStartDialog()
    {
        LayoutInflater inflater = LayoutInflater.from(this);
        View view =inflater.inflate(R.layout.activity_dialog,null);
        final AlertDialog.Builder dialog= new AlertDialog.Builder(MainActivity.this,R.style.DialogCustomTheme);
        final View customLayout = getLayoutInflater().inflate(R.layout.activity_dialog,null);
        dialog.setView(customLayout).create();
        dialog.setCancelable(false);
        dialog.show();
        SharedPreferences prefs = getSharedPreferences("prefs", MODE_PRIVATE);
        SharedPreferences.Editor editor = prefs.edit();
        editor.apply();
        }
}

正如您所说,我已经声明了按钮,但是dilaog.disclease()显示错误,我的意思是disclease()没有执行
public void showStartDialog()
{

    final AlertDialog.Builder dialog= new AlertDialog.Builder(MainActivity.this,R.style.DialogCustomTheme);
    final View customLayout = getLayoutInflater().inflate(R.layout.activity_dialog,null);

     Button btn = customLayout.findViewById(R.id.your_btn_xml);

    dialog.setView(customLayout).create();
    dialog.setCancelable(false);
    
    SharedPreferences prefs = getSharedPreferences("prefs", MODE_PRIVATE);
    SharedPreferences.Editor editor = prefs.edit();
    editor.apply();

    AlertDialog alertDialog = dialog.create();
    alertDialog.show();

    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //do something when clicked
            alertDialog.dismiss();
        }});
}