gpt4 book ai didi

java - 滑动菜单适配器(android)

转载 作者:行者123 更新时间:2023-11-29 20:42:40 25 4
gpt4 key购买 nike

对不起我的英语。我使用 SlideMenu 库,我想为 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;
}

}

但是我的项目 ListView 不显示。我不知道为什么。请帮忙

最佳答案

问题出在您的适配器上。由于您没有向 super 构造函数提供数据集,因此您必须覆盖 getCount 并返回其大小。添加

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

到你的适配器

关于java - 滑动菜单适配器(android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30788158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com