アンドロイドマップを使用して指定された住所を検索しようとしています。私は最初に地図上のアドレスを見つけて、それに印を付けることができました。Xamarin.Android:MapFragmentのAndroid.Views.InflateExceptionが2回目に起動しました
バイナリXMLファイルライン#1:エラー膨らまクラスフラグメント
AXMLレイアウト:
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myMap"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.MapFragment" />
私は別のアドレスを見つけるしようとすると、しかし、それはフラグメントで例外がスローされます
問題は、フラグメントが2回目に新しいアドレスを見つけるために置き換えられたときに、アンドロイドがaxmlから膨らませることができないということです。これは、ライン上でクラッシュ:
view = inflater.Inflate(Resource.Layout.map_layout, null);
私はこれらのリンクを経て、しかし、解決策を見つけることができます:
Android map v2 error on second inflating
Android - SupportMapFragment error when openning for second time
https://forums.xamarin.com/discussion/7378/google-maps-wont-work-error-on-fragmenttransaction
私もSupportMapFragment
を使ってみましたが、動作は同じです。
[デモ](https://developer.xamarin.com/samples/これを試してみてくださいMonodroid/MapsAndLocationDemo_v3 /)をMapFragmentでBasicDemoActivityに追加 –
フラグメントトランザクションに関するコードを追加したり、投稿にmvce(http://stackoverflow.com/help/mcve)をアップロードできますか?私の推測では、 'replace()'を使ってフラグメントをスワップしたり、フラグメントを再利用したりしないようにする必要があります。それ以外の場合は、 'fragment'の中に' fragment'がある場合は 'ChildFragmentMananger'を使用する必要があります –
Jon:おそらく、フラグメントを交換するあなたの意見は正しいでしょう。しかし、その代わりに、私は別のやり方を見つけました。私は答えを更新しました。 replace()のこの概念を理解するためのリファレンスを投稿して、フラグメントを再利用してください。 –