我有一個奇怪的問題,在Android上的TextView中設置文本。 當我嘗試在我的代碼中設置文本時,結果非常奇怪。看到圖像理解:在setText上重疊TextView()
我有一個佈局是:
<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>
不,好吧...是錯誤的,因爲我有多個textview設置...抱歉分心......我編輯了這個問題! :) – user3449772
如果它是錯誤的,你將得到一個NPE @'txttothmextra.setText(tothmonthextra);'coz'txttothmextra'將爲空 – Raghunandan
@ user3449772發佈你有代碼的地方,父母是什麼? – Raghunandan