这是我的自定义适配器的getView方法:
public View getView(int position, View convertView, ViewGroup viewGroup) {
SingleEvent entry = listSingleEvent.get(position);
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.single_event_row, null);
}
TextView titleTextView = (TextView) convertView.findViewById(R.id.titleTextView);
titleTextView.setText(entry.getTitle());
TextView byTextView = (TextView) convertView.findViewById(R.id.byTextView);
byTextView.setText(entry.getBy());
TextView dateTextView= (TextView) convertView.findViewById(R.id.dateTextView);
dateTextView.setText(entry.getDate());
TextView descTextView= (TextView) convertView.findViewById(R.id.descTextView);
descTextView.setText(entry.getDesc());
return convertView;
}
这是行xml:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:weightSum="1">
<TextView android:layout_height="wrap_content" android:id="@+id/titleTextView" android:text="TextView" android:layout_width="fill_parent"></TextView>
<TextView android:layout_height="wrap_content" android:id="@+id/byTextView" android:text="TextView" android:layout_width="fill_parent"></TextView>
<TextView android:layout_height="wrap_content" android:id="@+id/dateTextView" android:text="TextView" android:layout_width="fill_parent"></TextView>
<TextView android:id="@+id/descTextView" android:text="TextView" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>
</LinearLayout>
将LinearLayout高度更改为300dp或其他什么都不做。该行仍然只是拥抱内容量。
有没有办法在getView方法中设置行高?
答案 0 :(得分:5)
您可以在XML布局中增加设置android:padding
属性的行高。
您还可以设置android:minHeight
属性。
答案 1 :(得分:2)
我认为如果你希望ListView中的每一行都更大,你要做的就是让每一行中的单个项更大。我很确定ListView控制每行的大小。这有道理吗?它负责确定如何布置每一行,以便确定每一行应该有多大。