2013-04-26 60 views
0

我正在尝试沿着屏幕移动一个以编程方式添加的ImageView。要做到这一点编程添加Imageview

我正在通过getIdentifier搜索其ID。这应该工作吗?代码波纹管:

int id = this.getResources().getIdentifier("lemon1", "drawable", this.getPackageName()); 
ImageView image = (ImageView)findViewById(id); 
RelativeLayout.LayoutParams pos = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 
pos.setMargins(0, 100, 0, 0); 
image.setLayoutParams(pos); 

任何线索我应该如何着手实现我打算做的事情?

见你,

+0

如果你以编程方式添加了一个'ImageView',你不把它作为一个变量吗? – zbr 2013-04-26 22:02:09

+0

@Zabri说的。如果你添加了它,请自己保留一个参考。除此之外,我们需要看看你是如何添加它的。你在对象上设置了一个ID吗? – 2013-04-26 22:08:36

回答

0

号在你的第一个行你得到绘制的ID,在ImageView。您需要获得ImageView本身的ID。如果您以编程方式创建/添加了ImageView,您还需要programmatically set the ID,如果您想使用findViewById重新获取它。或者,您可以保留对实际View的引用。

+0

嗨Kabuko,谢谢。它已经工作了! – Javanes 2013-04-26 22:28:34

+0

@Javanes太棒了,很高兴能有所帮助。如果回答您的满意,请继续并通过点击旁边的复选标记将此答案标记为已接受。如果你发现这个答案有用,也可以随意点击三角形来upvote! – kabuko 2013-04-26 23:43:38