-3

how can i close the PopUp when a button is clicked?

.dismiss(); and .cancel(); dont works for me or i make something wrong.

    //Game Paused PopUp
private void PauseMenu() {

    final AlertDialog.Builder helpBuilder = new AlertDialog.Builder(this);

    LayoutInflater inflater = getLayoutInflater();
    final View popupView = inflater.inflate(R.layout.pause_menu, null);
    helpBuilder.setView(popupView);
    Button resume = (Button) popupView.findViewById(R.id.resume);

    resume.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            //Close PopUp
        }
    });

    AlertDialog helpDialog = helpBuilder.create();
    helpDialog.show();
}

@Override
public void onBackPressed() {
    PauseMenu();
}

Thanks for any help :)

And please dont vote down without a comment!

xXElsterXx
  • 39
  • 1
  • 1
  • 10

2 Answers2

1

You'll need to retain a reference to the dialog in order to dismiss it.

The following should work:

private void displayPauseMenu() { // method names are always lower-case!!

    final AlertDialog.Builder helpBuilder = new AlertDialog.Builder(this);

    LayoutInflater inflater = getLayoutInflater();
    final View popupView = inflater.inflate(R.layout.pause_menu, null);
    helpBuilder.setView(popupView);

    // this is what you need to dismiss
    final AlertDialog helpDialog = helpBuilder.create();
    Button resume = (Button) popupView.findViewById(R.id.resume);

    resume.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            helpDialog.dismiss();
        }
    });

    helpDialog.show();
}

@Override
public void onBackPressed() {
    displayPauseMenu();
}
323go
  • 14,143
  • 6
  • 33
  • 41
0
private void PauseMenu() {

    final AlertDialog.Builder helpBuilder = new AlertDialog.Builder(this);

    LayoutInflater inflater = getLayoutInflater();
    final View popupView = inflater.inflate(R.layout.pause_menu, null);
    helpBuilder.setView(popupView);
    Button resume = (Button) popupView.findViewById(R.id.resume);

    final AlertDialog helpDialog = helpBuilder.create();
    resume.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            helpDialog.dismiss();
        }
    });

    helpDialog.show();
}

@Override
public void onBackPressed() {
    PauseMenu();
}
Wukash
  • 666
  • 5
  • 9