2014-05-03 120 views
0

我有一個奇怪的問題,在Android上的TextView中設置文本。 當我嘗試在我的代碼中設置文本時,結果非常奇怪。看到圖像理解:在setText上重疊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> 

回答

0

的TextView您輸入Id是錯誤的。這應該工作。

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

不,好吧...是錯誤的,因爲我有多個textview設置...抱歉分心......我編輯了這個問題! :) – user3449772

+0

如果它是錯誤的,你將得到一個NPE @'txttothmextra.setText(tothmonthextra);'coz'txttothmextra'將爲空 – Raghunandan

+0

@ user3449772發佈你有代碼的地方,父母是什麼? – Raghunandan

0

我有點晚了,但今天我有同樣的問題,而且是東西掛鉤的RelativeLayout和它的父......把你的相對佈局垂直的LinearLayout內,你解決問題。