ListView无法显示

时间:2013-05-06 07:57:17

标签: android android-layout android-listview

我有一个包含3 spinners,1 EditText,1 Butto的布局,在我放置ListView的按钮下方。ListView有标题也没有显示。由于某种原因,它没有显示。我已经附加了我的xml文件和我创建标题的java代码。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="@dimen/activity_vertical_margin" >

    <Spinner
        android:id="@+id/yearSpinner"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <Spinner
        android:id="@+id/monthSpinner"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <Spinner
        android:id="@+id/daySpinner"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <EditText
        android:id="@+id/amountEditText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="number" 
        android:hint="@string/amount">
    </EditText>

    <Button
        android:id="@+id/add_button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/addproduct_button"
        android:textColor="#372c24" />

    <ListView
        android:id="@+id/listview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>
</LinearLayout>

============================================

visibleTable = (ListView) findViewById(R.id.listview);

    createTableHeader();

    private void createTableHeader() {
    View header = (View) getLayoutInflater().inflate(R.layout.listview_header_row, null);
    visibleTable.addHeaderView(header, null, false);
}

======================

这是我的标题xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" 
android:background="#ff347c12">

<TextView
    android:id="@+id/ThirdText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="left"
    android:paddingBottom="5dp"
    android:paddingTop="5dp"
    android:text="@string/amount"
    android:width="50dip" >

</TextView>

<TextView
    android:id="@+id/SecondText"
    android:layout_width="0dip"
    android:layout_height="wrap_content"
    android:layout_weight="0.60"
    android:gravity="right"
    android:paddingBottom="5dp"
    android:paddingTop="5dp"
    android:text="@string/date"
    android:width="150dip" >

</TextView>

<TextView
    android:id="@+id/FirstText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:paddingBottom="5dp"
    android:paddingTop="5dp"
    android:width="20dip" />

3 个答案:

答案 0 :(得分:2)

如果您的ListView为空,则表示没有任何正常现象。即使没有数据也要显示标题视图,请查看此问题List activity with header, footer and empty all visible

答案 1 :(得分:0)

在您的代码中,您应该使用listview.setAdapter(...)方法将数据设置为listview。

以下是Listview和Adapters的一个很好的教程:http://www.vogella.com/articles/AndroidListView/article.html#listview_adapterintro

答案 2 :(得分:0)

您可以在您的微调器中添加数据,例如

<string-array name="displaying">
            <item >a</item>
            <item >b</item>
            <item >c</item>
        ...
</string-array>

以便您可以展示它们。