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 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)