0

我的应用程序中有一个可扩展的列表。在组视图中,每个元素的左侧都有一个图像。为此,我为组行使用了一个 xml,其中包含一个相对布局内的图像视图和文本视图。在我的自定义适配器类中,正在添加这些文本和图像。来自数据库的文本。对于图像,我给出了可绘制的名称。以下是我的适配器类。

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"));

}

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

4

1 回答 1

0

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

event_logo.setImageResource(getResources().getIdentifier(title, "drawable", "com.package.application"))
于 2012-07-31T11:49:22.223 回答