将相对布局放在listview元素下面

时间:2012-06-26 17:38:36

标签: java android

RelativeLayout item = (RelativeLayout)findViewById(R.id.catalogParent);

View child = getLayoutInflater().inflate(R.layout.detailedcatalog, null);

RelativeLayout.LayoutParams layoutParams = new
RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);

layoutParams.addRule(RelativeLayout.BELOW,view.getId());

item.addView(child, layoutParams);

上面是将布局放在listview元素下面的代码。 view.getId()函数始终返回-1。相对布局在运行时以编程方式膨胀。

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> arg0, View view,
int position, long arg3) {
...}}

视图对象是从onItemClick函数获得的。你能帮我解决这个问题吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

所以我使用了view.getLocationInWindow(location),其中location是一个大小为2的int数组,它给了我listview元素屏幕上的位置,然后我相应地将相对布局放在屏幕上,使用co - 从位置获得的 - 。