我是Android开发的新手,我创建了一个空白片段,默认情况下有一个textview。我试图将片段添加到我的主要活动中,并且我收到以下错误:
已连接至设备上的进程3689 samsung-gt_i9300-32305248b97211f9 申请已终止。
没有任何其他例外原因。
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorWhite"
tools:context="com.ideasurge.winfertility.AccountActivity">
<ImageView
android:id="@+id/titleImageView"
android:layout_width="wrap_content"
android:layout_height="80dp"
android:layout_marginLeft="30dp"
android:layout_marginStart="30dp"
android:layout_marginRight="30dp"
android:layout_marginEnd="30dp"
android:scaleType="centerInside"
android:background="@color/colorWhite"
app:srcCompat="@drawable/wftitleimage" />
<TextView
android:id="@+id/fertilityTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Your Fertility Companion"
android:textStyle="bold"
android:textSize="20sp"
android:textColor="@color/colorBlack"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:layout_marginTop="20dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/titleImageView"/>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragmentPlaceholder"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/fertilityTextView">
<!-- Fragment will go here eventually, but it's not added in the layout -->
</LinearLayout>
</android.support.constraint.ConstraintLayout>
这是Java代码:
AccountFragment fragment = new AccountFragment();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.add(R.id.fragmentPlaceholder, fragment);
ft.commit();
答案 0 :(得分:0)
您无法将片段添加到LinearLayout。必须是FrameLayout才能正常工作。
答案 1 :(得分:0)
将linearLayout更改为frameLayout。因为Fragment无法在LinearLayout中添加。
答案 2 :(得分:0)
您可以在LinearLayout中包含片段。甚至你可以在LinearLayout中拥有多个片段。
您可以找到一些文档帮助here
您的代码存在问题,因为您没有指定片段类。因此,'活动'不知道要膨胀什么。
在布局中声明片段时尝试这样的事情。
<fragment
class="com.atwork.demo.ListFragment"
android:layout_width="match_parent"
android:layout_height="match_parent">
创建引用的片段类以在活动附加时对其进行充气。
要将多个片段附加到LinearLayout,您可以在此SO回答中找到帮助here
提示强>