gpt4 book ai didi

android listView 行高

转载 作者:太空宇宙 更新时间:2023-11-03 12:19:53 25 4
gpt4 key购买 nike

我从这里实现了一个包含 2 种行的 ListView listViews with multiple rows tutorial

一切正常,

我现在遇到的问题是设置行的高度,

如果我将背景保留为颜色,一切都很好,

但是如果我使用图像作为背景,我只会得到一个高行 [在其他简单 ListView 中,高度符合编程设置的高度],但在这种情况下,行会发生变化

所以

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/category_item_row"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:background="#ff00ff"
android:layout_height="70dp"
android:padding="3dp"
>

<ImageView
android:id="@+id/image"
android:layout_width="40dp"
android:layout_height="70dp"
android:gravity="center_vertical"/>

<TextView
android:id="@+id/title"
android:textSize="20sp"
android:layout_width="90dp"
android:layout_height="70dp"
android:gravity="center_vertical"/>
</LinearLayout>

工作正常,

但是

android:background="@drawable/phone_cat_cell">

不遵守指定的高度,

如何使用我的图片背景来修正这个高度?

谢谢!

编辑1,适配器

listViewItem.setAdapter(new PhoneItemAdapter(new ItemPhoneDataSource().getItems()));

private class PhoneItemAdapter extends BaseAdapter {
final List<RowPhone> rows;//row

//data source, style
PhoneItemAdapter(List<ItemPhone> animals) {
rows = new ArrayList<RowPhone>();//member variable

//choose cell! iterator
for (ItemPhone item : animals) {
//if it has an image, use an ImageRow
if (item.getImageId() != null) {
rows.add(new RowFolderPhone(LayoutInflater.from(getActivity()), item)); //imageRow!
} else {//otherwise use a DescriptionRow

rows.add(new RowItemPhone(LayoutInflater.from(getActivity()), item));
}
}
}

//delegate
@Override
public int getViewTypeCount() {
return RowTypePhone.values().length;
}

@Override
public int getItemViewType(int position) {
//con cast
return ((RowPhone) rows.get(position)).getViewType();

}

public int getCount() {
return rows.size();
}

public Object getItem(int position) {
return position;
}

public long getItemId(int position) {
return position;
}

public View getView(int position, View convertView, ViewGroup parent) {

//cambiado con cast!
return ((RowPhone) rows.get(position)).getView(convertView);
}
}

最佳答案

检查你的适配器代码,如果你在膨胀 View 时传递 null 那么请用这个替换那个代码。

view = inflater.inflate(R.layout.listview_row, parent, false);

关于android listView 行高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18886798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com