Cambiar fuente de letra en un listView

1,002 views
Skip to first unread message

Fernando Garcia

unread,
Apr 14, 2015, 4:12:24 PM4/14/15
to desarrollad...@googlegroups.com
Hola a todos:

En mi aplicacion he cambiado los tipos de letra con Typeface, pero no consigo hacerlo para los listViews que utilizo. En vez de crear un adaptador personalizado utilizo un simpleCursorAdapter. No se si ese es el problema o si hay alguna forma de hacerlo funcionar con el simpleCursorAdapter.

Tengo un layout "principal" donde se muestra el listView y otro para los elementos de dentro del layout, con sus textView y demas.El adaptador lo uso asi:
String[] from = new String[]{bdl.ID_NOMBRE, bdl.ID_LATITUD, bdl.ID_LONGITUD, bdl.ID_FILA};
int[] to = new int[]{R.id.tvNombre, R.id.tvLatitud, R.id.tvLongitud, R.id.tvIdentif};

cursorLocdeEmergEnviar = bdl.cargarCursorLocalizacion();
miAdapterLocDeEmergEnviar= new SimpleCursorAdapter(this, R.layout.item_lista_loc, cursorLocdeEmergEnviar, from, to, 0);
lvEnviar.setAdapter(miAdapterLocDeEmergEnviar);

Gabriel Pozo

unread,
Apr 14, 2015, 4:24:26 PM4/14/15
to desarrollad...@googlegroups.com
Realmente no recuerdo el uso de SimpleCursorAdapter, pero creo que debería extender de el y agregar tu fuente, mira esto:
http://stackoverflow.com/a/13541126/1748764
http://martin.cubeactive.com/android-how-to-use-a-custom-font/
Quizás otro tenga una mejor solución, normalmente creo que mis propios adapters, consejo, ya que estas mirando como crear tus listview, te aconsejo mirar recyclerview ;)
https://www.bignerdranch.com/blog/recyclerview-part-1-fundamentals-for-listview-experts
http://xmodulo.com/recyclerview-cardview-android.html

--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/8h8ez2
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/desarrolladores-android.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/desarrolladores-android/e403f710-fc75-44cf-ab68-330a28dc0b29%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Sergio Briceño

unread,
Feb 4, 2016, 3:27:15 AM2/4/16
to desarrolladores-android

Sergio Briceño

unread,
Feb 4, 2016, 3:27:15 AM2/4/16
to desarrolladores-android

no se si sea posible con el cursos, yo lo logre por medio de un adaptador . Te dejo el código.
 


public class ItemAdapter extends BaseAdapter {

private final Typeface tf;
private Context context;
private List<Item> items;

public ItemAdapter(Context context, List<Item> items) {
this.context = context;
this.items = items;
this.tf = Typeface.createFromAsset(context.getAssets(), "fonts/fuente.ttf"); //fuente, ubicada en assets/font/fuente.ttf.

}



@Override
public int getCount() {
return this.items.size();
}

@Override
public Object getItem(int position) {
return this.items.get(position);
}

@Override
public long getItemId(int position) {
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

View rowView = convertView;

if (convertView == null) {
// Create a new view into the list.
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
rowView = inflater.inflate(R.layout.list_item, parent, false);
// Set data into the view.
ImageView ivItem = (ImageView) rowView.findViewById(R.id.ivItem);
TextView tvTitle = (TextView) rowView.findViewById(R.id.tvTitle);



Item item = this.items.get(position);
tvTitle.setTypeface(tf);
tvTitle.setText(item.getTitle());
ivItem.setImageResource(item.getImage());


}

return rowView;
}

}
Reply all
Reply to author
Forward
0 new messages