Android片段在渲染后消失
我有一个非常奇怪的问题,我正在努力解决 我有一个片段,我正在添加到动态填充文本内容的RelativeLayout(尝试了LinearLayout和FrameLayout) 如果文本内容太大,则渲染后片段将消失。我已经通过限制内容长度验证了这一点,在这些情况下这是可以的 这个问题似乎只发生在我见过的三星Galaxy S4上 S4系统中是否存在在将碎片添加到视图时限制碎片高度的缺陷 我用来添加片段的代码是:Android片段在渲染后消失,android,android-fragments,Android,Android Fragments,我有一个非常奇怪的问题,我正在努力解决 我有一个片段,我正在添加到动态填充文本内容的RelativeLayout(尝试了LinearLayout和FrameLayout) 如果文本内容太大,则渲染后片段将消失。我已经通过限制内容长度验证了这一点,在这些情况下这是可以的 这个问题似乎只发生在我见过的三星Galaxy S4上 S4系统中是否存在在将碎片添加到视图时限制碎片高度的缺陷 我用来添加片段的代码是: FragmentManager fragmentManager = getFragmentM
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
mFragment = new DisplayFragment();
fragmentTransaction = fragmentTransaction.add(R.id.patient_container, mFragment, mFragment.getClass().getName());
fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
fragmentTransaction.commit();
这段代码适用于我测试过的所有设备以及除Galaxy S4之外的所有模拟器实例。仅当视图高度超过设定限制(不确定这是什么)时,它才会在S4上断开
发生此问题时,我收到以下控制台警告:
电子/可视系统﹕ 视图#1 mHardwareLayer无效
在此方面的任何帮助都将不胜感激
提前谢谢
更新:添加了片段XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rootLinearLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@android:color/white"
android:visibility="visible">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:background="@android:color/white"
android:gravity="top">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Patient's name:"
style="@style/bodyText"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="@string/placeholder_text"
android:id="@+id/patientsNameTextView"
android:gravity="right"
style="@style/blueBodyText"
/>
</LinearLayout>
<View style="@style/hr"
android:layout_margin="0dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="top"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:background="@android:color/white">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Patient's gender:"
style="@style/bodyText"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="@string/placeholder_text"
android:id="@+id/patientsGenderTextView"
android:gravity="right"
style="@style/blueBodyText"
/>
</LinearLayout>
<View style="@style/hr"
android:layout_margin="0dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="top"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:background="@android:color/white">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Patient's DOB:"
style="@style/bodyText"
android:id="@+id/patientsDOBTitle"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="@string/placeholder_text"
android:id="@+id/patientsDOBTextView"
android:gravity="right"
style="@style/blueBodyText"
/>
</LinearLayout>
<View style="@style/hr"
android:layout_margin="0dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="top"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:background="@android:color/white">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Patient's telephone:"
style="@style/bodyText"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:id="@+id/patientsTelephoneTextView"
android:gravity="right"
style="@style/blueBodyText"
android:text="@string/placeholder_text"/>
</LinearLayout>
<View style="@style/hr"
android:layout_margin="0dp"/>
<LinearLayout
style="@style/horizontalLinearLayout"
android:background="@android:color/white"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:gravity="top">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Patient's postcode:"
style="@style/bodyText"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:id="@+id/patientsPostcodeTextView"
android:gravity="right"
style="@style/blueBodyText"
android:text="@string/placeholder_text"/>
</LinearLayout>
<View style="@style/hr"
android:layout_margin="0dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="top"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:background="@android:color/white">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Patient's address:"
style="@style/bodyText"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:id="@+id/patientsAddressTextView"
android:gravity="right"
style="@style/blueBodyText"
android:text="@string/placeholder_text"/>
</LinearLayout>
<View style="@style/hr"
android:layout_margin="0dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="top"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:background="@android:color/white">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Reason for referral:"
style="@style/bodyText"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:id="@+id/referralReasonTextView"
android:gravity="right"
style="@style/blueBodyText"
android:text="@string/placeholder_text"/>
</LinearLayout>
<View style="@style/hr"
android:layout_margin="0dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="top"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:background="@android:color/white"
style="@style/verticalLinearLayout">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Patient presenting with:"
style="@style/bodyText"
android:layout_marginBottom="@dimen/very_small_vertical_spacing"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:id="@+id/additionalInfoTextView"
style="@style/blueBodyText"
android:text="@string/placeholder_text"
android:gravity="left"/>
</LinearLayout>
<View style="@style/hr"
android:layout_margin="0dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="top"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:background="@android:color/white">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Details of allergies:"
style="@style/bodyText"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:id="@+id/allergiesTextView"
android:gravity="right"
style="@style/blueBodyText"
android:text="@string/placeholder_text"/>
</LinearLayout>
<View style="@style/hr"
android:layout_margin="0dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="top"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:background="@android:color/white">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Registered surgery:"
style="@style/bodyText"
android:id="@+id/registeredTextTitle"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:id="@+id/surgeryTextView"
android:gravity="right"
style="@style/blueBodyText"
android:text="@string/placeholder_text"/>
</LinearLayout>
<View style="@style/hr"
android:layout_margin="0dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="top"
android:paddingBottom="@dimen/small_vertical_spacing"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:background="@color/grey_light_expanded"
android:paddingTop="@dimen/small_vertical_spacing"
android:id="@+id/patientsBookingLocationHolder">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:id="@+id/patientsBookingLocationTextView"
android:gravity="left"
style="@style/boldBlueBodyText"
android:text="@string/placeholder_text"
/>
</LinearLayout>
<View style="@style/hr"
android:layout_margin="0dp"
android:id="@+id/patientsBookingLocationHolderHR"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="top"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:background="@color/grey_light_expanded">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Contact number:\n(at time of booking)"
style="@style/bodyText"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:id="@+id/contactNumberTextView"
android:gravity="right"
style="@style/blueBodyText"
android:text="@string/placeholder_text"/>
</LinearLayout>
<View style="@style/hr"
android:layout_margin="0dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="top"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:background="@color/grey_light_expanded"
android:id="@+id/patientRepHolder">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Patient's representative:"
style="@style/bodyText"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:id="@+id/representativeTextView"
android:gravity="right"
style="@style/blueBodyText"
android:text="@string/placeholder_text"/>
</LinearLayout>
<View style="@style/hr"
android:layout_margin="0dp"
android:id="@+id/patientRepHolderHR"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="top"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:id="@+id/ambulanceRequiredHolder"
android:background="@color/grey_light_expanded">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Ambulance required:"
style="@style/bodyText"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:id="@+id/ambulanceRequiredTextView"
android:gravity="right"
style="@style/boldBlueBodyText"
android:text="@string/placeholder_text"/>
</LinearLayout>
<View style="@style/hr"
android:id="@+id/ambulanceRequiredHolderHR"
android:layout_margin="0dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="top"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:id="@+id/patientsLocationHolder"
android:background="@color/grey_light_expanded">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Patient's location at time of booking:"
style="@style/bodyText"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Patient's name:"
android:id="@+id/patientsLocationTextView"
style="@style/blueBodyText"
android:layout_marginTop="@dimen/small_vertical_spacing"/>
</LinearLayout>
<View style="@style/hr"
android:id="@+id/patientsLocationHolderHR"
android:layout_margin="0dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="top"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:background="@android:color/white">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="I confirm that:"
style="@style/bodyText"
android:textStyle="bold"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text=""
android:layout_marginTop="@dimen/small_vertical_spacing"
android:gravity="left"
style="@style/bodyText"
android:textSize="12sp"
android:id="@+id/confirmationText"/>
</LinearLayout>
</LinearLayout>
Hmm,看看片段的布局会很有趣。我已经为片段添加了XML文件。你说的文本内容太大是什么意思?您的文本视图太多,或者您的文本视图填充的文本太长?它是如何消失的?片段不再在堆栈中,或者视图看起来是空的?@inmystry当我填充文本字段时,如果所有元素的累积高度达到某个大小,片段就不可见了。这就好像设备无法呈现片段一样。我已经检查了Heirarchy工具中的布局,它就在那里,包括所有元素。视图在它们应该在的地方,但它们只是看不见的。嗯。。。在黑暗中随机射击。可能尝试禁用活动的硬件加速?android:hardwareAccelerated=“false”,或者尝试设置layertype、view.setLayerType(LAYER\u TYPE\u软件,null)?