问题: - 我想在导航栏中为不同的项目设置不同的菜单图标。我知道如何设置项目的图标,但我只能为列表中的每个项目设置一个图标。我想动态设置不同的图标。
我的代码是:
@Override
public View getView(NLevelItem item)
{
View view = inflater.inflate(R.layout.drawer_list_item, null);
TextView tv = (TextView) view.findViewById(R.id.category);
TextView plusIcon = (TextView) view.findViewById(R.id.category_plus);
CategoryBean categoryBean = (CategoryBean) item.getWrappedObject();
tv.setText(" "+categoryBean.getName());
//here is where I set the Icon
tv.setCompoundDrawablesWithIntrinsicBounds(R.drawable.rsz_ic_home, 0,0, 0);
return view;
}
注意: - 我正在使用nlevel菜单,所以我不想要每个项目的图标。我只想要父项目的图标,因此我没有在我的布局中使用imageview。请帮帮我。
答案 0 :(得分:1)
将drawable的id存储在您的项目中,并在getView方法中获取其值:
@Override
public View getView(NLevelItem item)
{
View view = inflater.inflate(R.layout.drawer_list_item, null);
TextView tv = (TextView) view.findViewById(R.id.category);
TextView plusIcon = (TextView) view.findViewById(R.id.category_plus);
CategoryBean categoryBean = (CategoryBean) item.getWrappedObject();
tv.setText(" "+categoryBean.getName());
//here is where I set the Icon
tv.setCompoundDrawablesWithIntrinsicBounds(item.getDrawableId(), 0,0, 0);
return view;
}
答案 1 :(得分:1)
这很容易。
您必须使用字符串数组作为项目的名称,并使用数组作为项目的图标。显然,您必须创建一个构造函数类来创建抽屉的每个项目。
我认为本教程将为您提供很多帮助。
http://www.androidhive.info/2013/11/android-sliding-menu-using-navigation-drawer/