我在所有高度都有 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'不可见)
请告诉我,我做错了什么?
答案 0 :(得分:2)
不要将id设置为0.放一些其他数字,看看是否有效? 如果你看一下setID()的文档,你会看到它说“标识符应该是一个正数”。零不是正数。 http://developer.android.com/reference/android/view/View.html#setId(int)