Problemas con ListView dentro de una ventana emergente
tengo unListView
en unPopupWindow
. losPopupWindow
se inicializa así
window.setContentView(root);
window.setTouchable(true);
window.setFocusable(true);
window.setOutsideTouchable(true);
window.setWidth(WindowManager.LayoutParams.WRAP_CONTENT);
window.setHeight(WindowManager.LayoutParams.WRAP_CONTENT);
Entonces elListView
:
fileList = (ListView) root.findViewById(R.id.explorer_list);
fileList.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
fileList.setSelector(android.R.drawable.screen_background_light_transparent);
fileList.setOnItemClickListener(this);
[...]
@Override
public void onItemClick(AdapterView<?> adapter, View v, int pos, long id) {
selected = (File) fileList.getItemAtPosition(pos);
}
Así, todo funciona correctamente, excepto que el selector no aparecerá en la selección hastaListView
se desplaza (nada se muestra visualmente como seleccionado hasta que la lista se desplaza, aunque el elemento está seleccionado correctamente).
Si configuro elPopupWindow
no se puede enfocar, entonces la selección visual funciona correctamente (el elemento se selecciona visualmente cuando se hace clic en él) peroonItemClick()
nunca se llama y, por lo tanto, no puedo obtener el elemento seleccionado.
ListView.getSelectedItem()
siempre vuelvenull
en ambos casos, incluso si hay un elemento seleccionado.
¿Alguna idea de cómo resolver esta situación? Gracias por adelantado.