我创建的按钮不起作用。我的代码有问题吗?

The button that I have created does not work. Is there something wrong with my code?

我正在 Android studio 中构建应用程序,基本上我希望在用户单击添加按钮时弹出 window。我使用了 setOnClickListener 但是当我 运行 应用程序时,没有任何反应。我的代码可能有问题吗?

这是我的 MainActivity 代码

public class MainActivity extends AppCompatActivity {

Button addBtn;
ListView itemListView;
DatePickerDialog.OnDateSetListener dateSetListener;
String dateString = null;


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

    addBtn = (Button)findViewById(R.id.addBtn);
    itemListView = (ListView)findViewById(R.id.itemListView);

    addBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
            View view = getLayoutInflater().inflate(R.layout.activity_popup_window, null);
            EditText itemName = (EditText)view.findViewById(R.id.itemName);
            Button expirationDateBtn = (Button)view.findViewById(R.id.expirationDateBtn);

            builder.setView(view)
                    .setTitle("Add Item")
                    .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.cancel();
                        }
                    })
                    .setPositiveButton("Add", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            if (itemName.getText().toString().isEmpty() || dateString == null) {
                                Toast.makeText(MainActivity.this,
                                        "Item name or expiration date is missing",
                                        Toast.LENGTH_LONG).show();
                            }
                            else{
                                //do action
                            }
                        }
                    });

            //when clicked on Expiration Date Btn
            
            //display date on button
           

AlertDialogBuilder 不会隐式创建和显示新的 AlertDialog。它仅在显式调用 create() 之前准备对话框(或者如果您需要在构建对话框时显示对话框,则可以直接调用 show())。 您的代码在 onClick() 末尾缺少以下行:

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

或者只是:

builder.show();