将两个视图添加到RelativeLayout.BELOW

时间:2014-08-23 12:17:31

标签: android android-layout listview android-relativelayout

我在所有高度都有 RelativeLayout ,它有两个查看

1)'mainItem'是用于修复高度的视图;

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'不可见)

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

1 个答案:

答案 0 :(得分:2)

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