我有一项活动,我创建了2个或更多碎片。 当活动最初加载并显示第一个片段时,一切都显示正常,如下图所示。
如果我然后执行替换片段,则按钮文本将变为奇怪的布局,如下图所示。
我的活动布局xml;
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context="package.android.incabandroid.ActivityJavas.PalletStatusActivity">
<TextView android:id="@+id/lblpodstats" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_centerHorizontal="true"
android:text="TextView" />
<TableLayout android:id="@+id/butLinLayout"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:layout_alignParentBottom="true" android:orientation="horizontal">
<TableRow>
<Button android:id="@+id/btnApplyToAll" style="?android:attr/buttonStyleSmall"
android:layout_width="0dp" android:layout_height="wrap_content"
android:layout_weight="1" android:text="Select for all" />
<Button android:id="@+id/btnViewTc" style="?android:attr/buttonStyleSmall"
android:layout_width="0dp" android:layout_height="wrap_content"
android:layout_weight="1" android:text="View TnC's" />
</TableRow>
<TableRow>
<Button android:id="@+id/btnPodStatBack" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_weight="1"
android:text="Back" />
<Button android:id="@+id/btnPodStatNext" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_gravity="right"
android:layout_weight="1" android:text="Next" />
</TableRow>
</TableLayout>
<ScrollView android:id="@+id/scrollStatsList"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:layout_below="@id/lblpodstats" android:layout_above="@id/butLinLayout">
<LinearLayout android:id="@+id/palletStatusLinLayout"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
</ScrollView>
</RelativeLayout>
我所做的就是用新片段替换palletStatusLinLayout。 如果我在其中一个按钮上执行setText,当它们显示怪异时,按钮会更改并正确显示,与第一张按钮相同。
任何帮助都得到了很多赞赏,谢谢。
答案 0 :(得分:1)
尝试使用LinearLayouts而不是TableLayout,我总是这样做。
将TableLayout替换为:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"> </LinearLayout>
和TableRow for a:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"> </LinearLayout>