将两个视图添加到RelativeLayout.BELOW

问题描述 投票:0回答:1

我在所有高度都有RelativeLayout,它有两个视图:

1)'mainItem'是View来修复高度;

2)'listView'来自橡胶(或不固定)高度;

我希望'mainItem'保持在顶部,'listView'在'mainView'下方,并且它在所有其余高度RelativeLayout处伸展。

我这样做:

mainItem = new ItemList(getContext());
mainItem.setId(0);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
params.addRule(ALIGN_PARENT_TOP);
addView(mainItem, params);


listView = new ListView(getContext());
listView.setAdapter(adapter);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
params.addRule(BELOW, mainItem.getId());
addView(listView, params);

我得到'listView'保持在顶部并在所有宽度和高度拉伸。 'mainItem'也保持在顶部,但在'listView'下。 ('mainView'不可见)

请告诉我,我做错了什么?

android android-layout listview android-relativelayout
1个回答
2
投票

不要将id设置为0.放一些其他数字,看看是否有效?如果你看一下setID()的文档,你会看到它说“标识符应该是一个正数”。零不是正数。 http://developer.android.com/reference/android/view/View.html#setId(int)

© www.soinside.com 2019 - 2024. All rights reserved.