2010-07-12 82 views

回答

1

使用自定义ListAdapter,覆盖getView,在初始化适配器设置参数(TEXTSIZE)...

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是一个简单的LinearLayout与一个TextView ... 。

请参阅如何使用ListAdapter this ...

+1

这台TEXTSIZE,它并没有动态地改变它,因为在OP想? – 2013-10-19 13:58:28