需要在自定义ArrayAdapter类中更改ImageView

时间:2010-12-03 15:41:22

标签: android listview sdk

我正在使用下面的custome视图类,当有人在onListItemClick的列表中选择一个视图时,我想更改ImageView图标。我如何获得视图?在我的OnCreate中,我有

    iconicAdapter = new IconicAdapter();
    setListAdapter(iconicAdapter);

然后在我的自定义视图类中,我有

class IconicAdapter extends ArrayAdapter {
IconicAdapter() {
    super(myApp.this, R.layout.row, title_list);
}

public View getView(int position, View convertView, ViewGroup parent) {
    LayoutInflater inflater=getLayoutInflater();
    View row=inflater.inflate(R.layout.row, parent, false);
    TextView title=(TextView)row.findViewById(R.id.list_title);
    title.setText(title_list.get(position).toString());
    ImageView icon=(ImageView)row.findViewById(R.id.icon);
    return(row);
}

}

在下面的方法中,我需要在自定义视图类中访问正确的ImageView图标?或者我应该以不同的方式访问它?

public void onListItemClick(ListView parent, View v, int position, long id) {
}

1 个答案:

答案 0 :(得分:1)

执行以下操作:

public void onListItemClick(ListView parent, View v, int position, long id) {
    ((ImageView)v.findViewById(R.id.icon)).setImageBitmap(anyBitmap); 
    //((YourCustomAdapter)getListAdapter()).notifyDataSetChanged();
    //or
    //v.invalidate();
}

稍后您可以将任何资源设置为图像视图,位图,可绘制等

欢呼声