He publicado el mismo problema un par de veces, pero aún no se ha resuelto. Tengo un ListFragment
y quiero resaltar el elemento seleccionado en la lista. Me han dado sugerencias para usar un "selector". No entiendo cómo usar este selector. Mi clase es ListFragment
:Resalte el elemento seleccionado en "ListFragment"?
// Create an adapter with list of stores and populate the list with
// values
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1, StoreList);
setListAdapter(adapter);
mDbHelper.close();
}
/*
* (non-Javadoc)
*
* Handles the event when an item is clicked on left pane, performs action
* based on the selection in left pane
*
* @see android.app.ListFragment#onListItemClick(android.widget.ListView,
* android.view.View, int, long)
*/
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
String selectedStore = (String) getListAdapter().getItem(position);
DetailFragment fragment = (DetailFragment) getFragmentManager()
.findFragmentById(R.id.detailFragment);
if (fragment != null && fragment.isInLayout()) {
v.setBackgroundColor(getResources().getColor(R.color.BLUE));
// passes selectedStore to detail fragment
fragment.setText(selectedStore);
// getItemList(selectedStore);
}
Usando setBackground establece el color de forma permanente, pero quiero que desaparezca cuando se selecciona otro elemento. Entiendo cómo usar un selector en un ListView
pero en mi caso si no he definido ningún xml para el Listview
, ¿cómo usaré un "selector"? Estoy usando android.R.layout.simple_list_item_1
que está predefinido.
El concepto de "selección" en Android para un 'ListView' es para usar con almohadillas en D, trackballs, teclas de flecha y otros dispositivos señaladores. En las tabletas, existe un concepto relacionado de una fila "activada", diseñada para resaltar el último elemento intervenido desde la pantalla táctil, para proporcionar contexto para algo adyacente a él (por ejemplo, patrón de detalles maestros). – CommonsWare