在setText()上重叠TextView

时间:2014-05-03 16:53:41

标签: android textview overlap

我在Android上的TextView中设置文本时遇到了一个奇怪的问题。 当我尝试在我的代码中设置文本时,结果非常奇怪。请参阅图片以了解:

enter image description here

我的布局是:

<RelativeLayout
        android:id="@+id/LayoutWorkingHWeek"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="6dip"
        android:layout_below="@+id/LayoutMonthlyHH">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_alignParentLeft="true"
            android:text="@string/TotWorkingHH"
            android:gravity="left"/>

        <TextView
            android:id="@+id/txtWorkingHH"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginRight="10dp"
            android:gravity="right"
            android:text="00:00"/>

    </RelativeLayout>

之后,我通过代码在TextView中设置文本:

String tothmonthextra = "10:00"
TextView txttothmextra = (TextView) parent.findViewById(R.id.txtWorkingHH);
txttothmextra.setText(tothmonthextra);

我不明白问题出在哪里......

感谢!!!

编辑:

我有一个包含多个textview的自定义视图。问题出现在所有textview ...

这是代码:

class CustomCard_General_Data_Monthly extends Card
    {
        protected TextView txttothm, txttothworkingm, txttothworkingm_real, txttothmextra, txttothmextra_real, txtDiffextra;
        String tothmonth, tothworkingmonth, tothworkingmonth_real, tothmonthextra, tothmonthextra_real, diffextra;

        public CustomCard_General_Data_Monthly(Context context, String Tothmonth, String Tothworkingmonth, String Tothworkingmonth_real, String Tothmonthextra,
                                               String Tothmonthextra_real, String Diffextra)
        {
            this(context, R.layout.card_summary_month);
            this.tothmonth = Tothmonth;
            this.tothworkingmonth = Tothworkingmonth;
            this.tothworkingmonth_real = Tothworkingmonth_real;
            this.tothmonthextra = Tothmonthextra;
            this.tothmonthextra_real = Tothmonthextra_real;
            this.diffextra = Diffextra;
        }

        public CustomCard_General_Data_Monthly(Context context, int innerLayout) {
            super(context, innerLayout);
        }

        @Override
        public void setupInnerViewElements(ViewGroup parent, View view)
        {
            txttothm = (TextView) parent.findViewById(R.id.txtMonthlyHH);
            txttothworkingm = (TextView) parent.findViewById(R.id.txtWorkingHH);
            txttothworkingm_real = (TextView) parent.findViewById(R.id.txtWorkingHHReal);
            txttothmextra = (TextView) parent.findViewById(R.id.txtExtraHH);
            txttothmextra_real = (TextView) parent.findViewById(R.id.txtExtraHHreal);
            txtDiffextra = (TextView) parent.findViewById(R.id.txtDiffExtraHH);

            txttothm.setText(tothmonth);
            txttothworkingm.setText(tothworkingmonth);
            txttothworkingm_real.setText(tothworkingmonth_real);
            txttothmextra.setText(tothmonthextra);
            txttothmextra_real.setText(tothmonthextra_real);
            txtDiffextra.setText(diffextra);
        }
    } 

布局card_summary_month是这样的:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <RelativeLayout
        android:id="@+id/LayoutMonthlyHH"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dip">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_alignParentLeft="true"
            android:text="@string/HoursPerMonth"
            android:gravity="left"/>

        <TextView
            android:id="@+id/txtMonthlyHH"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:gravity="right"
            android:layout_marginRight="10dp"
            android:text="@string/Hours_default"/>

    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/LayoutWorkingHWeek"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="6dip"
        android:layout_below="@+id/LayoutMonthlyHH">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_alignParentLeft="true"
            android:text="@string/TotWorkingHH"
            android:gravity="left"/>

        <TextView
            android:id="@+id/txtWorkingHH"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginRight="10dp"
            android:gravity="right"
            android:text="@string/Hours_default"/>

    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/LayoutWorkingHWeekReal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="6dip"
        android:layout_below="@+id/LayoutWorkingHWeek">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_alignParentLeft="true"
            android:text="@string/TotWorkingHH_real"
            android:gravity="left"/>

        <TextView
            android:id="@+id/txtWorkingHHReal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginRight="10dp"
            android:gravity="right"
            android:text="@string/Hours_default"/>

    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/LayoutExtraHH"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="6dip"
        android:layout_below="@+id/LayoutWorkingHWeekReal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_alignParentLeft="true"
            android:text="@string/TotOverTimeReal"
            android:gravity="left"/>

        <TextView
            android:id="@+id/txtExtraHH"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginRight="10dp"
            android:gravity="right"
            android:text="@string/Hours_default"/>

    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/LayoutExtraHH_Real"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="6dip"
        android:layout_below="@+id/LayoutExtraHH">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_alignParentLeft="true"
            android:text="@string/TotOverTime"
            android:gravity="left"/>

        <TextView
            android:id="@+id/txtExtraHHreal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginRight="10dp"
            android:gravity="right"
            android:text="@string/Hours_default"/>

    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/LayoutDiffExtraHH"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dip"
        android:layout_marginTop="6dip"
        android:layout_below="@+id/LayoutExtraHH_Real">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_alignParentLeft="true"
            android:text="@string/TotDiffExtra"
            android:gravity="left"/>

        <TextView
            android:id="@+id/txtDiffExtraHH"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginRight="10dp"
            android:gravity="right"
            android:text="@string/Hours_default"/>

    </RelativeLayout>

</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

您输入的TextView Id错误。这应该工作。

String tothmonthextra = "10:00"
TextView txttothmextra = (TextView) parent.findViewById(R.id.txtWorkingHH);
txttothmextra.setText(tothmonthextra);

答案 1 :(得分:0)

我有点晚了,但是今天我遇到了同样的问题,并且是与RelativeLayout及其父母相关的东西......将你的相对布局放在一个垂直的LinearLayout中,你就可以解决问题了。