所以我之前遇到过这个问题,我自然就在这里寻求帮助.Luksprog的答案很棒,因为我不知道ListView和GridView如何通过回收视图优化自身.因此,根据他的建议,我能够改变将Grid添加到GridView的方式.问题是现在我有一些没有意义的事情.这是getView我的BaseAdapter:
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
convertView = inflater.inflate(R.layout.day_view_item, parent, false);
}
Log.d("DayViewActivity", "Position is: "+position);
((TextView)convertView.findViewById(R.id.day_hour_side)).setText(array[position]);
LinearLayout layout = (LinearLayout)convertView.findViewById(R.id.day_event_layout);
//layout.addView(new EventFrame(parent.getContext()));
TextView create = new TextView(DayViewActivity.this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(0, (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 62, getResources().getDisplayMetrics()), 1.0f);
params.topMargin = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1, getResources().getDisplayMetrics());
params.bottomMargin = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1, getResources().getDisplayMetrics());
create.setLayoutParams(params);
create.setBackgroundColor(Color.BLUE);
create.setText("Test");
//the following is my original LinearLayout.LayoutParams for correctly setting the TextView Height …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试在ScrollView中使用ListView.我知道从我读过的内容中看到了这一点,但是我试图通过显示所有行来完全展开ListView,因此不需要滚动它.然而,我一直在努力告诉ListView完全展开以显示它的所有行,因为它需要一个定义的高度.有没有人知道在绘制之前计算完全展开的ListView的高度的方法?
此问题主要源于您无法将可滚动视图放在另一个可滚动视图中.我很好,因为ListView将无法滚动,只要我可以展开它以显示其所有行.但是,我无法做到这一点,但却无法给它定义一个高度,这似乎是我需要计算的.
请参阅下面的URL以获取草图(我是新用户,所以我不允许发布一个).它表明我的完整布局对于"物理"屏幕来说太大了,需要滚动以显示列表的其余部分和底部的按钮.我试图弄清楚即使没有ListView,"虚拟"屏幕也太大而无法放在一个屏幕上.