2013-01-17 25 views
0

我有一個ListView設置自定義陣列適配器我想改變每個單獨的列表項下getVIew()方法的代碼確實改變了字體的字體但字體改變,因爲我滾動UP上下字體變化滾動與單個項目的字體列表視圖

public View getView(int position, View convertView, ViewGroup parent){ 
    View v = convertView; 

    //View row = null; 

    if (v == null) { 
     LayoutInflater inflater = Main.this.getLayoutInflater(); 
     v = inflater.inflate(R.layout.genre_list, parent, false); 
     TextView item = (TextView)v.findViewById(R.id.txtListText); 
     switch(position) { 
     case 0: 
      tf = Typeface.createFromAsset(getAssets(),"fonts/font (1).ttf");item.setTypeface(tf); 
      break; 
     case 1: 
      tf = Typeface.createFromAsset(getAssets(),"fonts/font (2).ttf"); item.setTypeface(tf); 
      break; 
     case 2: 
      tf = Typeface.createFromAsset(getAssets(),"fonts/font (3).ttf"); item.setTypeface(tf); 
      break; 
     case 3: 
      tf = Typeface.createFromAsset(getAssets(),"fonts/font (4).ttf"); item.setTypeface(tf); 
      break; 
     case 4: 
      tf = Typeface.createFromAsset(getAssets(),"fonts/font (5).ttf"); item.setTypeface(tf); 
      break; 
     case 5: 
      tf = Typeface.createFromAsset(getAssets(),"fonts/font (6).ttf"); item.setTypeface(tf); 
      break; 
     case 6: 
      tf = Typeface.createFromAsset(getAssets(),"fonts/font (7).ttf"); item.setTypeface(tf); 
      break; 
     case 7: 
      tf = Typeface.createFromAsset(getAssets(),"fonts/font (8).ttf"); item.setTypeface(tf); 
      break; 
     case 8: 
      tf = Typeface.createFromAsset(getAssets(),"fonts/font (9).ttf"); item.setTypeface(tf); 
      break; 
     case 9: 
      tf = Typeface.createFromAsset(getAssets(),"fonts/font (10).ttf"); item.setTypeface(tf); 
      break; 
     default: 
      tf = Typeface.createFromAsset(getAssets(),"fonts/font (10).ttf"); item.setTypeface(tf); 
     } 
    } 

    TextView item = (TextView)v.findViewById(R.id.txtListText); 
    item.setText(Genres[position]);  

    // Declare and define the TextView, "icon." This is where 
    // the icon in each row will appear. 

    return v; 
} 
+0

因爲,每當列表視圖被滾動,則最上面的位置再次 –

+0

0位置,這可能是解決不更改字體...每次它開始從開始0; – user1910290

回答

0
String[] typefaceArr = new String[] {"fonts/font (1).ttf", "fonts/font (2).ttf",  
"fonts/font (3).ttf", "fonts/font (4).ttf", "fonts/font (5).ttf", "fonts/font (6).ttf",  
"fonts/font (7).ttf", "fonts/font (8).ttf", "fonts/font (9).ttf", "fonts/font (10).ttf",  
"fonts/font (10).ttf"}; 

    public View getView(int position, View convertView, ViewGroup parent) 
    { 
     View v = convertView; 

     //View row = null; 

     if (v == null) { 
      LayoutInflater inflater = Main.this.getLayoutInflater(); 
      v = inflater.inflate(R.layout.genre_list, parent, false); 
      TextView item = (TextView)v.findViewById(R.id.txtListText); 
      /*switch(position) { 
      case 0: 
        tf = Typeface.createFromAsset(getAssets(),"fonts/font (1).ttf");item.setTypeface(tf); 
        break; 
      case 1: 
        tf = Typeface.createFromAsset(getAssets(),"fonts/font (2).ttf"); item.setTypeface(tf); 
       break; 
      case 2: 
        tf = Typeface.createFromAsset(getAssets(),"fonts/font (3).ttf"); item.setTypeface(tf); 
       break; 
      case 3: 
        tf = Typeface.createFromAsset(getAssets(),"fonts/font (4).ttf"); item.setTypeface(tf); 
       break; 
      case 4: 
        tf = Typeface.createFromAsset(getAssets(),"fonts/font (5).ttf"); item.setTypeface(tf); 
       break; 
      case 5: 
        tf = Typeface.createFromAsset(getAssets(),"fonts/font (6).ttf"); item.setTypeface(tf); 
       break; 
      case 6: 
        tf = Typeface.createFromAsset(getAssets(),"fonts/font (7).ttf"); item.setTypeface(tf); 
       break; 
      case 7: 
        tf = Typeface.createFromAsset(getAssets(),"fonts/font (8).ttf"); item.setTypeface(tf); 
       break; 
      case 8: 
        tf = Typeface.createFromAsset(getAssets(),"fonts/font (9).ttf"); item.setTypeface(tf); 
       break; 
      case 9: 
        tf = Typeface.createFromAsset(getAssets(),"fonts/font (10).ttf"); item.setTypeface(tf); 
       break; 
      default: 
       tf = Typeface.createFromAsset(getAssets(),"fonts/font (10).ttf"); item.setTypeface(tf); 
     }*/ 
     } 

     TextView item = (TextView)v.findViewById(R.id.txtListText); 
     item.setText(Genres[position]); 
     tf = Typeface.createFromAsset(getAssets(),typefaceArr[position]); 
     item.setTypeface(tf); 
     // Declare and define the TextView, "icon." This is where 
     // the icon in each row will appear. 


     return v; 
    } 
相關問題