如何将可绘制图像添加到可扩展列表元素

时间:2012-07-31 11:45:21

标签: android uiimageview

我的应用程序中有一个可扩展的列表。在组视图中,每个元素的左侧都有一个图像。为此,我在组相行中使用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"));

}

工作正常。但它不是动态的,并且对于所有行,相同的图像将添加。可绘制图像名称和列表元素文本相同。如何使用其标题提供可绘制的地址?

1 个答案:

答案 0 :(得分:0)

看到你可以像这样动态添加

event_logo.setImageResource(getResources().getIdentifier(title, "drawable", "com.package.application"))