public boolean onTouch(View v, MotionEvent event)
{
if (event.getAction() == MotionEvent.ACTION_DOWN)
{
int x = (int) event.getX() ;
int y = (int) event.getY();
System.out.println("xxx");
release=(ImageView)findViewById(R.id.imageView2);
RelativeLayout.LayoutParams lp =new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); //Assuming you use a RelativeLayout
ImageView iv=new ImageView(getApplicationContext());
System.out.println("YYYY");
lp.setMargins(x,y,0,0);
System.out.println("aaaa");
iv.setLayoutParams(lp);
System.out.println("bbbbb");
iv.setImageDrawable(getResources().getDrawable(R.drawable.pain_icon));
System.out.println("ccccc");
((ViewGroup)v).addView(release);
}
return true;
}
答案 0 :(得分:0)
您尚未将动态创建的视图添加到您的父级。首先声明你的父亲并使用relativeLayout.addView(iv)将此iv(你的代码中的imageview)添加到父亲;
答案 1 :(得分:0)
我猜你在这里,因为你不发布错误。
R.id.imageView2很可能有一个父级,并且您正在尝试将其添加到另一个视图组。那是什么导致错误。您需要创建一个新的ImageView实例,然后将其添加到您的视图组
ImageView im = new ImageView(this);
im.setImageResource(R.drawable.nameofimage);
((ViewGroup)v).addView(im);