Tipface personalizado en android ListView con SimpleAdapter

¿Puede alguien decirme cómo cambiar la tipografía de la lista a arial no soy capaz de averiguarlo.

El siguiente es mi código:

public class TopNewsActivity extends ListActivity { public static final String LOG_TAG = "Infra"; private ProgressDialog progressDialog; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.listplaceholder); new BackgroundAsyncTask().execute(); } public class BackgroundAsyncTask extends AsyncTask<String, Integer, ArrayList<HashMap<String, String>>> { @Override protected void onPreExecute() { progressDialog = new ProgressDialog(TopNewsGroup.group); progressDialog.setCancelable(true); progressDialog.setMessage("Loading..."); progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); progressDialog.setProgress(0); progressDialog.show(); } @Override protected ArrayList<HashMap<String, String>> doInBackground(String... paths) { ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>(); String xml = XMLfunctions.getTopNewsXML(); Document doc = XMLfunctions.XMLfromString(xml); int numResults = XMLfunctions.numResults(doc); Log.d(LOG_TAG, "Number of Results: " + numResults); if ((numResults <= 0)) { Toast.makeText(TopNewsActivity.this, "No Result Found",Toast.LENGTH_LONG).show(); return null; } NodeList nodes = doc.getElementsByTagName("result"); for (int i = 0; i < nodes.getLength(); i++) { HashMap<String, String> map = new HashMap<String, String>(); Element e = (Element) nodes.item(i); map.put("id", XMLfunctions.getValue(e, "id")); map.put("title", XMLfunctions.getValue(e, "title")); map.put("date", XMLfunctions.getValue(e, "date")); map.put("recordDate", XMLfunctions.getValue(e, "recordDate")); mylist.add(map); } return mylist; } @Override protected void onProgressUpdate(Integer... values) { super.onProgressUpdate(values); } protected void onPostExecute(ArrayList<HashMap<String, String>> result) { ListAdapter adapter = new MySimpleAdapter(TopNewsActivity.this, result, R.layout.list_item, new String[] { "title", "date" }, new int[] { R.id.item_title, R.id.item_subtitle }); setListAdapter(adapter); progressDialog.dismiss(); final ListView lv = getListView(); lv.setTextFilterEnabled(true); lv.setOnItemClickListener(new OnItemClickListener() { @SuppressWarnings("unchecked") @Override public void onItemClick(AdapterView<?> a, View view, final int position, long id) { HashMap<String, String> o = (HashMap<String, String>) lv.getItemAtPosition(position); Intent i = new Intent(TopNewsActivity.this, NewsDetails.class); i.putExtra("content_id", o.get("id")); i.putExtra("title", o.get("title")); i.putExtra("date", o.get("recordDate")); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); View v = TopNewsGroup.group.getLocalActivityManager().startActivity("ShowNews", i).getDecorView(); // Again, replace the view TopNewsGroup.group.replaceView(v); } }); } } public class MySimpleAdapter extends SimpleAdapter { public MySimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) { super(context, data, resource, from, to); } @Override public View getView(int position, View view, ViewGroup parent){ LayoutInflater inflater = getLayoutInflater(); Typeface localTypeface1 = Typeface.createFromAsset(getAssets(), "fonts/arial.ttf"); View v = super.getView(position, view, parent); ((TextView)v).setTypeface(localTypeface1); return v; } } } 

Por favor ayuda

Fue bastante simple

 public class MySimpleAdapter extends SimpleAdapter { private ArrayList<HashMap<String, String>> results; public MySimpleAdapter(Context context, ArrayList<HashMap<String, String>> data, int resource, String[] from, int[] to) { super(context, data, resource, from, to); this.results = data; } public View getView(int position, View view, ViewGroup parent){ Typeface localTypeface1 = Typeface.createFromAsset(getAssets(), "fonts/arial.ttf"); View v = view; if (v == null) { LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate(R.layout.list_item, null); } TextView tt = (TextView) v.findViewById(R.id.item_title); tt.setText(results.get(position).get("title")); tt.setTypeface(localTypeface1); TextView bt = (TextView) v.findViewById(R.id.item_subtitle); bt.setText(results.get(position).get("date")); bt.setTypeface(localTypeface1); return v; } } 

Eso es 🙂

Si no desea crear una nueva clase puede reemplazar el método getView al crear SimpleAdapter … consulte mi respuesta en una pregunta similar:

Custon Typeface en listview con SimpleAdapter

  • ¿Cómo hacer cursivo el trabajo de TextView en la vista de diseño gráfico de Eclipse? Incluso cuelga el PC
  • Cómo cambiar fontFamily de TextView en Android
  • Tipo de letra personalizado
  • Error de tipo de letra en la clase BaseAdapter extendida
  • Cambiar texto editar la fuente de notificación de error en android
  • Cómo puedo mostrar el texto de HIndi en la tableta Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.