Problema ao dispensar a janela pop-up

Eu tenho um menu pop-up implementado, que aparece no clique de um botão. Este é o meu método onclick.

<code>public void showOverflow(View view) {

    boolean click = true;
    Button action = (Button) findViewById(R.id.btbAction);

    LayoutInflater inflater = (LayoutInflater) main.this
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View popupView = inflater.inflate(R.layout.overflow_layout, null);
    final PopupWindow pw = new PopupWindow(popupView,
            LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    pw.setOutsideTouchable(true);
    if (click) {
        pw.showAsDropDown(action, 0, 0);
        click = false;
    } else {
        pw.dismiss();
        click = true;
    }
}
</code>

A janela pop-up aparece quando o botão é clicado. Agora, o problema é que a janela não é descartada quando eu toco fora da janela pop-up. Eu tentei definir essa propriedade para a janela pop-up

<code>pw.setOutsideTouchable(true);
</code>

As coisas continuam as mesmas. Por favor me ajude a corrigir isso

questionAnswers(2)

yourAnswerToTheQuestion