Нужно задать координаты всплывающего меню, т.к. само по себе оно появляется где-то на задворках интерфейса, а именно в верхнем левом углу. На просторах всемирной нашел пример такого решения:
import android.support.v7.widget.ListPopupWindow;
import android.support.v7.widget.ListPopupWindow.ForwardingListener;
import android.support.v7.widget.PopupMenu;
import android.support.v7.widget.PopupMenu.OnMenuItemClickListener;
........
final Button menuButton = (Button) vView.findViewById(R.id.OptionsButton);
final PopupMenu popupMenu = new PopupMenu(mainAct, vView, Gravity.CENTER);
popupMenu.inflate(R.menu.list_manager_context_menu);
popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener(){
menuButton.setOnClickListener( new OnClickListener() {
@Override
public void onClick(View view) {
ListPopupWindow.ForwardingListener listener =(ForwardingListener)
popupMenu.getDragToOpenListener();
listener.getPopup().setVerticalOffset(-menuButton.getHeight());
popupMenu.show();
}
});
return vView;
}
Но у меня listener.getPopup() возвращает null.