在另一个scrollview上方看到scrollView

时间:2014-08-15 14:25:24

标签: android background scrollview

我有一个带有一些布局的滚动视图的活动,其中一个是带有表格的另一个滚动视图。由于某种原因,我看不到表格,但可以看到所有其他布局。这是我的XML文件:

<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:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="com.example.pickup.app.UpdateRide">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Update Ride Details"
        android:id="@+id/textView"
        android:layout_centerHorizontal="true" />

    <ScrollView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/scrollView"
        android:isScrollContainer="true"
        android:layout_below="@+id/textView"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true" >

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_below="@+id/textView">

            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/fromTxt"
                android:layout_alignParentTop="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true"
                android:ems="10"
                android:layout_marginTop="30dp" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:text="From:"
                android:id="@+id/textView2"
                android:layout_alignBottom="@+id/fromTxt"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_alignTop="@+id/fromTxt" />

            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/toTxt"
                android:layout_below="@+id/fromTxt"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true"
                android:layout_marginTop="30dp"
                android:layout_alignLeft="@+id/fromTxt"
                android:layout_alignStart="@+id/fromTxt" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:text="To:"
                android:id="@+id/textView3"
                android:layout_alignBottom="@+id/toTxt"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_alignTop="@+id/toTxt" />

            <TimePicker
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/timePicker"
                android:layout_below="@+id/toTxt"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_marginTop="30dp"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true" />

            <DatePicker
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/datePicker"
                android:layout_below="@+id/timePicker"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="30dp" />

            <Spinner
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:text="Empty Places:"
                android:layout_below="@+id/datePicker"
                android:id="@+id/placeTxt"
                android:entries="@array/emptyPlaces"
                android:layout_alignLeft="@+id/fromTxt"
                android:layout_alignStart="@+id/fromTxt"
                android:layout_marginTop="30dp" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:text="Empty Places:"
                android:id="@+id/textView4"
                android:layout_alignBottom="@+id/placeTxt"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_alignTop="@+id/placeTxt" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Reset"
                android:id="@+id/btnRst"
                android:onClick="resetScreen"
                android:layout_marginTop="150dp"
                android:layout_below="@+id/placeTxt" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Update Ride"
                android:layout_marginTop="150dp"
                android:onClick="updateRide"
                android:layout_below="@+id/placeTxt"
                android:layout_alignRight="@+id/toTxt"
                android:layout_alignEnd="@+id/toTxt"
                android:id="@+id/btnUpdRide"/>

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="150dp"
                android:layout_below="@+id/placeTxt"
                android:text="Remove Passenger"
                android:onClick="removePassenger"
                android:layout_toRightOf="@+id/btnRst"
                android:layout_toLeftOf="@+id/btnUpdRide"
                android:id="@+id/btnRemPass"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:id="@+id/err"
                android:text=""
                android:textColor="@color/red"
                android:visibility="invisible"
                android:layout_below="@+id/toTxt"
                android:layout_centerHorizontal="true" />

            <ScrollView
                android:id="@+id/scrollView2"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_below="@+id/textView4"

                android:layout_centerHorizontal="true"
                android:layout_above="@+id/btnUpdRide">

                <TableLayout
                    android:layout_width="fill_parent"
                    android:layout_centerHorizontal="true"
                    android:clickable="true"
                    android:id="@+id/tblPass"
                    android:layout_height="fill_parent">
                </TableLayout>
            </ScrollView>

        </RelativeLayout>

    </ScrollView>

</RelativeLayout>

这是我用来将数据插入表中的函数:

TableLayout tv = (TableLayout) findViewById(R.id.tblPass);
    tv.removeAllViewsInLayout();
    tv.bringToFront();

    final TableRow tr = new TableRow(UpdateRide.this);

    tr.setLayoutParams(new TableRow.LayoutParams(
            TableRow.LayoutParams.FILL_PARENT,
            TableRow.LayoutParams.WRAP_CONTENT));

    TextView b1 = new TextView(UpdateRide.this);
    b1.setText("Display Name");
    b1.setTextColor(Color.BLUE);
    b1.setTextSize(15);
    b1.setPadding(250, 0, 0, 0);
    tr.addView(b1);

    TextView b2 = new TextView(UpdateRide.this);
    b2.setPadding(40, 0, 0, 0);
    b2.setTextSize(25);
    b2.setText("ID");
    b2.setVisibility(View.INVISIBLE);
    b2.setTextColor(Color.BLUE);
    tr.addView(b2);

    tv.addView(tr);

    final View vline = new View(UpdateRide.this);
    vline.setLayoutParams(new
            TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, 2));
    vline.setBackgroundColor(Color.BLUE);
    tv.addView(vline);

    for (int i = 0; i < lst.size(); i++) {

        final TableRow tr2 = new TableRow(UpdateRide.this);

        tr2.setLayoutParams(new TableRow.LayoutParams(
                TableRow.LayoutParams.FILL_PARENT,
                TableRow.LayoutParams.WRAP_CONTENT));

        TextView b3 = new TextView(UpdateRide.this);
        String str = lst.get(i).displayName;
        b3.setText(str);
        b3.setPadding(250, 0, 0, 0);
        b3.setTextColor(Color.RED);
        b3.setTextSize(15);
        tr2.addView(b3);

        TextView b4 = new TextView(UpdateRide.this);
        b4.setPadding(40, 0, 0, 0);
        b4.setTextSize(15);
        int num = lst.get(i).userID;
        b4.setText(String.valueOf(num));
        b4.setVisibility(View.INVISIBLE);
        b4.setTextColor(Color.RED);
        tr2.addView(b4);

        tr2.setClickable(true);
        final int Rowid = i;
        tr2.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                tr2.setId(Rowid);
                updateHighlightedRow(tr2.getId());
            }
        });

        tv.addView(tr2);

        final View vline1 = new View(UpdateRide.this);
        vline1.setLayoutParams(new
                TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, 1));
        vline1.setBackgroundColor(Color.RED);
        tv.addView(vline1);
    }

除了我在第二个scrollview上添加的最后一个表格外,我看到了所有内容。如何更改文件以显示表格?提前谢谢!

2 个答案:

答案 0 :(得分:0)

尝试设置

  

机器人:layout_height =&#34; 100dp&#34;

滚动查看并运行它。你看到TableLayout吗?它可能在scrollview的子视图中出现问题

答案 1 :(得分:0)

我更改了XML文件,现在可以正常工作了。我用第二个scrollview改变了部分,现在它看起来像是:

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Reset"
    android:id="@+id/btnRst"
    android:onClick="resetScreen"
    android:layout_marginTop="10dp"
    android:layout_below="@+id/tblPass" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Update Ride"
    android:layout_marginTop="10dp"
    android:onClick="updateRide"
    android:layout_below="@+id/tblPass"
    android:layout_alignRight="@+id/toTxt"
    android:layout_alignEnd="@+id/toTxt"
    android:id="@+id/btnUpdRide"/>

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:layout_below="@+id/tblPass"
    android:text="Remove Passenger"
    android:onClick="removePassenger"
    android:layout_toRightOf="@+id/btnRst"
    android:layout_toLeftOf="@+id/btnUpdRide"
    android:id="@+id/btnRemPass"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:id="@+id/err"
    android:text=""
    android:textColor="@color/red"
    android:visibility="invisible"
    android:layout_below="@+id/toTxt"
    android:layout_centerHorizontal="true" />

<TableLayout
    android:layout_width="fill_parent"
    android:layout_centerHorizontal="true"
    android:clickable="true"
    android:layout_below="@+id/textView4"
    android:id="@+id/tblPass"
    android:layout_height="fill_parent">
</TableLayout>