gpt4 book ai didi

android - 为动态创建的 ImageView 设置点击监听器

转载 作者:太空狗 更新时间:2023-10-29 13:40:32 29 4
gpt4 key购买 nike

我的应用程序中有一个显示 rss 提要的 Activity ,每个 rss 提要旁边都附有箭头图像。

我是 android 的新手,我们将不胜感激。

我将解释我正在做什么来显示 rss 新闻 ...

我有一个单独的虚拟 xml 布局用于单个 rss.. 我已经为箭头图像设置了 id(它将导航到下一个 Activity )作为 iv_arrow_img 我正在迭代我得到的新闻提要和每个新闻提要我一次又一次地添加虚拟 View ......我的问题是我将如何区分不同图像箭头的 id ..因为现在所有的都具有相同的 id ......我已经在我的代码下面为它们设置了 onclick 监听器

我已经写好了代码

Iterator itr = data.iterator();
int i =0; while (itr.hasNext()) { NewsPostDTO newspostdto = itr.next();

view = inflater.inflate(R.layout.rl_news_item, null);
lnContentView.addView(view, LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT);


ivArrowfwd = (ImageView) view.findViewById(R.id.iv_arrowfwd);

tvNewsHeading.setText(newspostdto.getFeaturedDesc());
tvNewsContent.setText(newspostdto.getDate() + " - " + newspostdto.getTitle());
ivArrowfwd.setId(id);
ivArrowfwd.setTag(newspostdto);
ivArrowfwd.setOnTouchListener(new OnTouchListener(){

@Override
public boolean onTouch(View arg0, MotionEvent arg1) {

System.out.println("sdfsdf" +(ImageView) view.findViewById(id).getTag());

return false;
}
});
id++;
}

但是我没有为不同的新闻获得不同的标签,尽管它们是不同的..任何人都可以告诉我我做错了什么......?

最佳答案

假设该 View 是最终 View (在其他情况下,我认为,你无法编译它)所以它指向你创建的最后一个 View ......没有必要使用 findViewById ......如果你得到图像查看它的原因,所以尝试这样的事情:

ivArrowfwd.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent me) {
ImageView iv = (ImageView)v;
System.out.println("sdfsdf" + iv.getTag());
return false;
}
});

无论如何...您应该考虑改用 ListView

关于android - 为动态创建的 ImageView 设置点击监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6370268/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com