使用自定义ListView时设置背景

时间:2014-07-03 20:18:19

标签: java android listview custom-lists

我正在开发一个Android应用程序项目,我在其中使用客户简单适配器重复一个名为row.xml的布局。一切都很顺利,除了我有一个背景颜色/图像,我正在使用我的应用程序,当我使用这个简单的适配器方法时,我得到的空白区域未填充列表。

以下是我的Java类

中的代码
public class CustomerActivity extends ListActivity {

    final static ArrayList<HashMap<String, ?>> arrayListData = new ArrayList<HashMap<String, ?>>();

    ListView mCustomerList;
    static {
        HashMap<String, Object> CurrentRow = new HashMap<String, Object>();
        CurrentRow.put("Icon", R.drawable.has_360_inspection_icon);
        CurrentRow.put("Icon2", R.drawable.has_solid_fuel_inspection_icon);
        CurrentRow.put("Name", "Xue Test");
        arrayListData.add(CurrentRow);
        CurrentRow = new HashMap<String, Object>();
        CurrentRow.put("Icon", R.drawable.has_360_inspection_icon);
        CurrentRow.put("Icon2", R.drawable.no_solid_fuel_inspection_icon);
        CurrentRow.put("Name", "Ryan Test");
        arrayListData.add(CurrentRow);
        CurrentRow = new HashMap<String, Object>();
        CurrentRow.put("Icon", R.drawable.no_360_inspection_icon);
        CurrentRow.put("Icon2", R.drawable.has_solid_fuel_inspection_icon);
        CurrentRow.put("Name", "Becca Test");
        arrayListData.add(CurrentRow);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        SimpleAdapter adapter = new SimpleAdapter(this, arrayListData, R.layout.row, new String[] { "Icon", "Icon2", "Name" },
                new int[] { R.id.imageView1, R.id.imageView2, R.id.customer_name_textView });
        setListAdapter(adapter);

    }

这是来自row.xml的代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/lightBlue"
    android:weightSum="6" >

    <TextView
        android:id="@+id/customer_name_textView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:text="TextView" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/has_360_inspection_icon" />

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/has_solid_fuel_inspection_icon" />

    <View
        android:id="@+id/view1"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_weight="2" />

</LinearLayout>

感谢您的帮助,如果您需要更多信息,请告诉我们。

2 个答案:

答案 0 :(得分:0)

您是否对Listview使用了wrap_content或match_parent?如果是match_parent,则替换为wrap_content

答案 1 :(得分:0)

如果您只是希望整个列表具有浅蓝色背景,请将其设置在listview本身而不是每行上。这样,如果列表中有空格,它仍然是蓝色的。