动态添加ImageView后设置OnClickListener

backthought 2012-02-16 05:19:26
public void onClick(View v) {
RelativeLayout layout = (RelativeLayout) findViewById(R.id.relativeLayoutRight);
switch (v.getId()) {
case R.id.xxxx:
ImageView img = new ImageView(this);
img.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
System.out.println("eeeeeeeeeeeeeeeeeeeeeeee");
//为啥这段执行不到

}
});
layout.addView(img);
break;
//.....


点一个按钮 添加一个图片 让后想设置点击图片的监听器 为啥设不上去啊 请教 谢谢了
...全文
331 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
haoyizsw 2012-02-19
  • 打赏
  • 举报
回复
按 理应该走掉 估计你的点击事件被外层UI截获掉了 focusable属性在外层ui设置false试试
昕颖 2012-02-18
  • 打赏
  • 举报
回复
case R.id.xxxx:
没有给imageView 设置id,你给他加一个id试下
2在路上 2012-02-17
  • 打赏
  • 举报
回复
同意楼上,为什么嵌套了两层
liucc101x 2012-02-17
  • 打赏
  • 举报
回复

Onclick嵌套了两层,为什么要这样设计呢?

qinjuning 2012-02-17
  • 打赏
  • 举报
回复
 case R.id.xxxx:
ImageView img = new ImageView(this);


首先感觉个this有问题。 LSZ说的有道理,你先设置下ImageView的长宽试试看。
tgyhrfuj741 2012-02-17
  • 打赏
  • 举报
回复
LZ你只是新建了ImageView,并没有把它加入到layout中,在你的视图上就不会显示出来,你点不到,当然就触发不了啦
坏脾气的猪 2012-02-17
  • 打赏
  • 举报
回复
两个Onclick有问题吧
danielinbiti 2012-02-17
  • 打赏
  • 举报
回复
ImageView 加个图片,看看imageview的范围,默认wrap的,估计显示区域和你想象中的不一样
Android设置桌面壁纸及恢复默认墙纸,程序中将创建一个存储壁纸图片资源的id数组,定义被选中的图片在id数组中的索引,需要自定义一个BaseAdapter,然后:   ImageView iv = new ImageView(Sample_12_2.this);//新建一个ImageView   iv.setBackgroundResource(imgIds[position]);//设置ImageView的背景图片   iv.setScaleType(ImageView.ScaleType.CENTER_CROP);   iv.setLayoutParams(new Gallery.LayoutParams(120, 120));//设置相框中元素的大小   将设置壁纸和恢复壁纸的功能写入按钮监听事件中,通过单击按钮来激活这两个功能:   设置ImageView为当前墙纸:   Button btnGetWall = (Button)findViewById(R.id.getWall);//获得Button对象   btnGetWall.setOnClickListener(new View.OnClickListener() {//为Button添加OnClickListener监听器   @Override   public void onClick(View v) {    ImageView iv = (ImageView)findViewById(R.id.currWall);    iv.setBackgroundDrawable(getWallpaper()); //设置ImageView显示的内容为当前墙纸   }   恢复默认的壁纸:   setContentView(R.layout.main);//设置当前屏幕   Button btnClearWall = (Button)findViewById(R.id.clearWall);//获得Button对象   btnClearWall.setOnClickListener(new View.OnClickListener() {//添加OnClickListener监听器   @Override   public void onClick(View v) {//重写onClick方法   try {    Sample_12_2.this.clearWallpaper();//还原手机壁纸   } catch (IOException e) {//捕获并打印异常    e.printStackTrace();   }

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧