我正在開發一個Android活動,其中有兩個片段。活動有兩種可能的佈局,一個在Portait,另一個在景觀。使用Fragments更改Android佈局
我已經創建了碎片運行良好,但當我改變手機/平板電腦的方向時遇到了麻煩。
此片段之一是列表片段,使用AsyncTask從Web上加載列表數據。有了這個片段,我沒有問題,因爲我可以再次創建它。 (雖然需要一段時間的加載)。
另一片段內部具有谷歌地圖的V2片段:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<fragment
android:id="@+id/mapInicio"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
</LinearLayout>
我創建從onCreate
方法FragmentActivity
的片段:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_inicio);
Fragment listFragment = new ListaEstaciones();
FragmentTransaction transList = getSupportFragmentManager()
.beginTransaction();
transList.add(R.id.listaestaciones_f_container, listFragment);
transList.commit();
Fragment mapFragment = new MapaGoogleV2();
FragmentTransaction transMap = getSupportFragmentManager()
.beginTransaction();
transMap.add(R.id.mapa_f_container, mapFragment);
transMap.commit();
}
在onConfigurationChanged
方法中,我這段代碼。作爲onCreate
,我創建了碎片,我改變看法,因爲我們現在是橫向/縱向:
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.activity_inicio);
Fragment listFragment = new ListaEstaciones();
FragmentTransaction transaction = getSupportFragmentManager()
.beginTransaction();
transaction.add(R.id.listaestaciones_f_container, listFragment);
transaction.commit();
Fragment mapFragment = new MapaGoogleV2();
FragmentTransaction transMap = getSupportFragmentManager()
.beginTransaction();
transMap.add(R.id.mapa_f_container, mapFragment);
transMap.commit();
}
當我創建這個方法ListFragment的偉大工程,但不與MapFragment工作。 片段的onCreateView
方法中的應用chrash與地圖。我認爲不能再膨脹該片段:
04-16 18:20:32.795:E/AndroidRuntime(15543):android.view.InflateException:二進制XML文件線#6:錯誤充氣類片段
我的問題:
有沒有一種方法,以避免碎片的休閒改變佈局時?
我該怎麼做?
謝謝!
聽起來很像:http://stackoverflow.com/questions/8495095/fragments-and-handling-orientation-changes –
@PlasticSturgeon是不一樣的。我只有谷歌地圖碎片問題,而不是我的ListFragment。 – palvarez89
也許這個呢? http://stackoverflow.com/questions/14488566/android-maps-v2-maps-becomes-unresponsive-on-orientation-changed –