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函数获得的。你能帮我解决这个问题吗?提前谢谢。
答案 0 :(得分:0)
所以我使用了view.getLocationInWindow(location),其中location是一个大小为2的int数组,它给了我listview元素屏幕上的位置,然后我相应地将相对布局放在屏幕上,使用co - 从位置获得的 - 。