我第一次檢查片段,我創建了一個帶有FrameLayout的LinearLayout,併爲我的layout-sw600dp創建了一個帶有2個FrameLayout的LinearLayout。FragmentManager給我NPE
其中一個標識爲「main」,另一個標識爲「details」。
我得到的錯誤是:
Caused by: java.lang.NullPointerException
at android.app.BackStackRecord.doAddOp(BackStackRecord.java:395)
at android.app.BackStackRecord.add(BackStackRecord.java:385)
at mes.fallstudio.tvfall.MainActivity.onCreate(MainActivity.java:28)
,其中第28行是在這裏的最後一行:
public class MainActivity extends AppCompatActivity {
private android.support.v4.app.Fragment mainFragment;
private android.app.Fragment detailsFragment;
private Boolean isDualPane = false;
private android.support.v4.app.FragmentManager fm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
mainFragment = fragmentManager.findFragmentById(R.id.main);
android.support.v4.app.FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.main, mainFragment).commit();
}
}
XML佈局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
<FrameLayout
android:id="@+id/details"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
這是爲layout-sw600dp和對於佈局文件夾的xml文件,沒有第二個FrameLayout(細節)。
如果有幫助,我將擴展AppCompatActivity。 謝謝
你可以添加你的XML佈局文件? –
@SvenDubbeld剛剛做到了。 – vicolored
我真的不明白爲什麼要添加一個已經存在的片段,或者也沒有 – njzk2