zxd_72 2013-04-26 01:41 采纳率: 0%
浏览 932

如何修改动态列表的图像?

动态列表中包含一个 imageview 和一个 textview。我想在点击的时候改变指定位置的图像,如何实现?

public class CoverLetterAdaptor extends BaseAdapter
{
    String[] coverLetterItems;
    Context context;    
    private LayoutInflater mInflater;   
    int ht,wt;

public CoverLetterAdaptor(Context context,int ht,int wt, String[] coverLetterTitle)
{
    this.context = context;
    this.coverLetterItems = coverLetterTitle ;          
    this.ht = ht;
    this.wt = wt;
    mInflater = LayoutInflater.from(context);
}
public int getCount() {
    return coverLetterItems.length;
}
public Object getItem(int position) {
    return position;
}
public long getItemId(int position) {
    return position;
}
public View getView( final int position, View convertView, ViewGroup parent) 
{
    ViewHolder holder;
    if (convertView == null)
    {
        convertView = mInflater.inflate(R.layout.coverletteradaptor, null);     
        holder = new ViewHolder();

        holder.coverLetterTxt = (TextView) convertView.findViewById(R.id.coverLetterAdaptorTxt);
        holder.bgImageCCAdaptor = (ImageView)convertView.findViewById(R.id.bgimageCoverLetter);
        holder.bgimageCoverLetter = (ImageView)convertView.findViewById(R.id.bgimageCoverLetterr);
        holder.bgimageCoverLetter.setLayoutParams(new RelativeLayout.LayoutParams(wt, ht/7));       
        convertView.setTag(holder);
     }
    else                
        holder = (ViewHolder) convertView.getTag();
    holder.coverLetterTxt.setText(coverLetterItems[position]);
    return convertView;
} 
static class ViewHolder
{
    TextView coverLetterTxt;        
    ImageView bgImageCCAdaptor;
    ImageView bgimageCoverLetter;
}
}
  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2022-12-21 17:08
    关注

    ChatGPT尝试为您解答,仅供参考
    在这个类中,你可以在点击事件处理函数中改变指定位置的图像。

    你可以将点击事件处理函数添加到你的 getView 方法中,以便在点击视图时更新图像。 例如,你可以使用以下代码来设置点击事件处理函数:

    convertView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            // 更新指定位置的图像
            holder.bgimageCoverLetter.setImageResource(R.drawable.new_image);
        }
    });
    

    在这段代码中,holder.bgimageCoverLetter 是你想要更新的图像视图。setImageResource 方法用于设置图像视图的图像资源。

    你还可以在点击事件处理函数中访问当前视图的位置,使用这个位置来更新特定的图像。 例如:

    convertView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            // 更新特定位置的图像
            if (position == 2) {
                holder.bgimageCoverLetter.setImageResource(R.drawable.new_image);
            }
        }
    });
    

    在这段代码中,点击第三个视图时,将会更新图像视图。

    评论

报告相同问题?

悬赏问题

  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题