我在Android上的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>
答案 0 :(得分:0)
您输入的TextView Id
错误。这应该工作。
String tothmonthextra = "10:00"
TextView txttothmextra = (TextView) parent.findViewById(R.id.txtWorkingHH);
txttothmextra.setText(tothmonthextra);
答案 1 :(得分:0)
我有点晚了,但是今天我遇到了同样的问题,并且是与RelativeLayout及其父母相关的东西......将你的相对布局放在一个垂直的LinearLayout中,你就可以解决问题了。