2
風景和肖像的不同佈局之間的方向更改似乎很容易,但是我無法找到適合當前情況的解決方案。從雙窗格方向更改爲單窗格
我想用一個雙窗格佈局,在橫向模式下
資源\佈局,土地\ dashboard_activity.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<fragment class="xxx.DashboardFragment"
android:id="@+id/master_frag"
android:layout_width="@dimen/timeline_size"
android:layout_height="match_parent"/>
<fragment class="xxx.TaskInstanceFragment"
android:id="@+id/details_frag"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
兩個片段,並在縱向模式下的單面板佈局
資源\佈局\ dashboard_activity.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<fragment class="xxx.DashboardFragment"
android:id="@+id/master_frag"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</FrameLayout>
我要指出THA DashboardFragment包含一個ViewPager。不知道它是否重要。
現在,當我從橫向(雙)更改爲肖像(單)的方向時,應用程序崩潰,因爲它想更新details_frag
。當我以縱向方式開始活動時,它會起作用,只有從橫向切換到縱向會產生問題。
在活動中有如下代碼:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dashboard_activity);
Fragment frag = getSupportFragmentManager().findFragmentById(R.id.details_frag);
mDualFragments = frag != null;
/* .. */
}
現在FragmentManager
還發現細節片段時,我切換到肖像模式,因此mDualFragments
仍然是正確的,但應該是假的,這導致了後來調用細節片段中的方法。
那麼,這是爲什麼呢? :)
問候, Konsumierer
謝謝,這就是解決方案。 – Konsumierer
感謝人,經過3小時的谷歌搜索,我終於登陸這個頁面 – NullPointerException