Je souhaite ajouter deux fragments lorsque l'appareil est en mode tablette (paysage). Mais je reçois l'erreur suivante: java.lang.IllegalArgumentException: Pas de vue trouvée pour id 0x7f0d006d (com.example.placesearch1: id/container2) pour le fragment FragMapjava.lang.IllegalArgumentException: Aucune vue trouvée pour l'ID 0x7f0d006d
J'ai créé deux dispositions: main_activity (pour téléphone) :
<FrameLayout
android:id="@+id/container1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true">
</FrameLayout>
et main_activity (pour le paysage comprimé - activity_main.xml (sw600dp terre):
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
>
<FrameLayout
android:id="@+id/container1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
</FrameLayout>
<FrameLayout
android:id="@+id/container2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
</FrameLayout>
</LinearLayout>
Je RecycleView des places (disposition de l'activité principale dans le conteneur 1). Quand je clique sur l'élément, j'obtiens la latitude et la longitude d'un lieu et passe les valeurs avec le paquet au fragment Map et place la carte dans l'un des conteneurs: if device is phone alors dans container1, mais si device est tablet puis container2 .
Si l'appareil est un téléphone, il fonctionne parfaitement, mais si l'appareil est une tablette, j'obtiens une erreur.
dans la méthode GetPlace:
Bundle bundle = new Bundle();
bundle.putDouble("lat", place.getLat());
bundle.putDouble("lng", place.getLng());
FragMap fragMap = new FragMap();
fragMap.setArguments(bundle);
if(getResources().getBoolean(R.bool.isTab)) {
getSupportFragmentManager().beginTransaction()
.replace(R.id.container1, new ListFragment())
.replace(R.id.container2, fragMap)
.addToBackStack(null)
.commit();
}
else {
getSupportFragmentManager().beginTransaction()
.replace(R.id.container1, fragMap)
.addToBackStack(null)
.commit();
}