列表视图(In UI) 包含所有不在列表视图中的组件

List View(In UI) contains all the components not in the list view

我正在尝试创建一个列表视图,它会在输入数字时显示记录。记录的数量将等于在给定文本字段中输入的数量。 它工作正常,但问题是列表包含列表中不需要的 UI 的所有组件。

下面是我的activity.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="poc.tusharimaging.com.bluetooth_poc.MainActivity">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="83dp"
        android:id="@+id/relativeLayout">

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/numOfRows"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_alignParentBottom="true"
            android:layout_toLeftOf="@+id/set"
            android:layout_toStartOf="@+id/set" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Set"
            android:id="@+id/set"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentTop="true"
            android:layout_alignParentBottom="true" />
    </RelativeLayout>

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/linearLayout"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/relativeLayout">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="40dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/date"
                android:layout_alignParentBottom="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
                android:layout_toLeftOf="@+id/retrive"
                android:layout_toStartOf="@+id/retrive" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/time"
                android:layout_alignParentBottom="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true"
                android:layout_alignParentTop="true"
                android:layout_toRightOf="@+id/retrive"
                android:layout_toEndOf="@+id/retrive" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Retrive"
                android:id="@+id/retrive"
                android:layout_centerVertical="true"
                android:layout_centerHorizontal="true" />

        </RelativeLayout>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <ListView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/items"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/data"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true" />
        </RelativeLayout>

    </LinearLayout>

</RelativeLayout>

java代码如下

ArrayAdapter<String> records;
ListView listView = (ListView)findViewById(R.id.items);
records = new ArrayAdapter<String>(this, R.layout.activity_main, R.id.data, values);
listView.setAdapter(records);

像这样创建 ArrayAdapter:

ArrayAdapter<String> records;
ListView listView = (ListView) findViewById(R.id.items);
records = new ArrayAdapter<String>(this, R.layout.list_item_layout, R.id.data, values);
listView.setAdapter(records);

因为 ArrayAdapter 采用项目布局来显示 ListView 中的项目,而不是整个布局。 文档 http://developer.android.com/reference/android/widget/ArrayAdapter.html

list_item_layout

<?xml version="1.0" encoding="utf-8"?>
 <TextView
       xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:id="@+id/data"
  ></TextView>

base_layout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="poc.tusharimaging.com.bluetooth_poc.MainActivity"
    android:orientation="vertical">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="83dp"
        android:id="@+id/relativeLayout">

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/numOfRows"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_alignParentBottom="true"
            android:layout_toLeftOf="@+id/set"
            android:layout_toStartOf="@+id/set" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Set"
            android:id="@+id/set"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentTop="true"
            android:layout_alignParentBottom="true" />
    </RelativeLayout>



        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="40dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/date"
                android:layout_alignParentBottom="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
                android:layout_toLeftOf="@+id/retrive"
                android:layout_toStartOf="@+id/retrive" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/time"
                android:layout_alignParentBottom="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true"
                android:layout_alignParentTop="true"
                android:layout_toRightOf="@+id/retrive"
                android:layout_toEndOf="@+id/retrive" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Retrive"
                android:id="@+id/retrive"
                android:layout_centerVertical="true"
                android:layout_centerHorizontal="true" />

        </RelativeLayout>



            <ListView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/items"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true" />





</LinearLayout>