2010-07-12 10 views

Répondre

1

Utilisez une coutume ListAdapter, remplacer le getView, définissez le paramètre (textSize) lors de l'initialisation de l'adaptateur ...

public class MyListAdapter extends ArrayAdapter<String> { 
    private String[] stringArray = null; 
    private int textSize,itemLayout; 
    public MyListAdapter(Context context, 
      String[] objects,int textSize) { 
     super(context, R.layout.la_item, objects); 
     stringArray = objects; 
     itemLayout = R.layout.la_item; 
     this.textSize = textSize; 
    } 
    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     if(convertView == null) 
     { 
      LayoutInflater vi = (LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      convertView = vi.inflate(itemLayout, null); 
     } 
     TextView tv = (TextView)convertView.findViewById(R.id.itemText); 
     tv.setTextSize(textSize); // SET THE TEXT SIZE! 
     tv.setText(stringArray[position]); 
     return convertView; 
    } 

} 

R.layout.la_item est un simple LinearLayout avec un TextView ... .

Référez-this sur la façon d'utiliser un ListAdapter ...

+1

Ceci définit la textsize, il ne change pas de façon dynamique, comme l'OP veut? –

Questions connexes