我的应用程序中有一个可扩展的列表。在组视图中,每个元素的左侧都有一个图像。为此,我在组相行中使用xml,在相对布局中使用图像视图和textview。 在我的自定义适配器类中,我正在添加这些文本和图像。来自数据库的文本。而对于图像我给出了可绘制的名称。以下是我的适配器类。
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
if(convertView==null){
LayoutInflater vi = LayoutInflater.from(context);
convertView = vi.inflate(R.layout.event_row, null);
}
GroupEvent event = eventlist[groupPosition];
setEventTitle(convertView,event.getEvent());
setEventIcon(convertView,event.getEvent_icon(), event.getEvent());
setDivider(convertView,groupPosition);
return convertView;
}
private void setEventTitle(View convertView, String title) {
// TODO Auto-generated method stub
TextView event_title_field = (TextView) convertView.findViewById(R.id.event_name_field);
event_title_field.setText(title);
}
private void setEventIcon(View convertView, int event_icon, String title) {
// TODO Auto-generated method stub
ImageView event_logo = (ImageView) convertView.findViewById(R.id.event_row_image);
title = String.format( "%s%s",Character.toLowerCase(title.charAt(0)),title.substring(1));
Log.d("Log","drawable image name "+ title);
event_logo.setImageResource(context.getResources().getIdentifier(title, "drawable", "com.eteam.ito.history"));
}
工作正常。但它不是动态的,并且对于所有行,相同的图像将添加。可绘制图像名称和列表元素文本相同。如何使用其标题提供可绘制的地址?
答案 0 :(得分:0)
看到你可以像这样动态添加
event_logo.setImageResource(getResources().getIdentifier(title, "drawable", "com.package.application"))