Cómo obtener una vista de lista en una ventana emergente
LayoutInflater layoutInflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_ INFLATER_SERVICE);
View prView = layoutInflater . inflate(R.layout.popupwindow, null); //archivo de diseño personalizado
mPw = new PopupWindow(prView, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
Luego configura el ventana emergente, haciendo que desaparezca al hacer clic fuera de la ventana emergente:
Drawable dr = this.getResources ().getDrawable(R.drawable.list_bg_click
mPw.setBackgroundDrawable); (dr);
mPw.setOutsideTouchable(true);
Establezca estas dos propiedades al mismo tiempo.
Lo más importante es determinar la posición emergente de PopupWindow, de modo que no importa en qué elemento se haga clic, aparecerá debajo de él. Es muy sencillo de configurar, solo una línea. de código:
mPw.showAsDropDown(view); //view es la vista pasada por el evento de clic de Listview.
mPw.setOutsideTouchable(true);
Establezca estas dos propiedades al mismo tiempo.