2015-06-11 20 views
1

對不起,我的英語。我用SlideMenu libruary,我想使用TextView的新字體,它的老版本使用:滑動菜單適配器(安卓)

((ListView) ((Activity) context).findViewById(R.id.sidemenulistobject)).setAdapter(
       new ArrayAdapter<Object>(
         context, 
         R.layout.sidemenu_item, 
         R.id.textSlide, 
         items 
       ) 
     ); 

但這個我不能讓我的textSlide並設置新的字體。現在我添加數組適配器並將其設置在listView中。這是我的所有代碼:

menu = new SlidingMenu(context); 

      menu.setMode(SlidingMenu.LEFT); 
      menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN); 
      menu.setShadowWidth(15); 
      menu.setFadeDegree(1.0f); 
      menu.setShadowWidthRes(R.dimen.shadow_width); 
      menu.setShadowDrawable(R.drawable.shadow); 
      menu.attachToActivity((Activity) context, SlidingMenu.SLIDING_WINDOW); 

      menu.setBehindWidth(400); 
      menu.setMenu(R.layout.sidemenu); 

    //add item in list view 
     ArrayList<String> itemsObj = new ArrayList<String>(); 
      itemsObj.add("Новости"); 
      itemsObj.add("События"); 
      itemsObj.add("Наше меню"); 
      itemsObj.add("Фотографии"); 
      itemsObj.add("Видеозаписи"); 
      itemsObj.add("Контакты"); 
      itemsObj.add("Мой профиль"); 

    //get sidemenulistobject 
    ListView lv = ((ListView) ((Activity) context).findViewById(R.id.sidemenulistobject)); 

//add adapter 
    SlideAdapter adapter = new SlideAdapter((Activity) context, R.layout.sidemenu_item, itemsObj); 
      lv.setAdapter(adapter); 

這是我SlideAdapter

public class SlideAdapter extends ArrayAdapter<MenuCategoryObject>{ 

    ArrayList<String> listItems; 
    int Resourse; 
    Context context; 
    LayoutInflater vi; 

    private ImageLoader imageLoader; 

    public SlideAdapter(Context context, int resource, ArrayList<String> listItems) { 
     super(context, resource); 

     this.listItems = listItems; 
     Resourse = resource; 
     this.context = context; 

     vi = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

    } 

    public View getView(final int position, View convertView, ViewGroup parent) { 
     ViewHolder holder; 

     if(convertView == null) { 
      convertView = vi.inflate(Resourse, null); 
      holder = new ViewHolder(); 

      Typeface face=Typeface.createFromAsset(context.getAssets(), "font/AvenirNext-Medium.ttf"); 
      holder.textSlide = (TextView) convertView.findViewById(R.id.textSlide); 
      holder.textSlide.setTypeface(face); 

      convertView.setTag(holder); 

     } else { 
      holder = (ViewHolder) convertView.getTag(); 
     } 

     holder.textSlide.setText(listItems.get(position)); 

     return convertView; 
    } 


    static class ViewHolder { 
     public TextView textSlide; 
    } 

} 

但我的項目列表視圖不顯示。我不知道爲什麼。請幫助

+0

如果我是正確的,你要創建滑動菜單列表活動?不是嗎? –

+0

@abdulrahmank是的,它是 – pot34731

回答

2

問題出在您的適配器上。由於您沒有將數據集提供給超級構造函數,因此您必須覆蓋getCount並返回其大小。添加

public int getCount() { 
    return listItems.size(); 
} 

到您的適配器

+0

非常感謝!是工作! – pot34731