0

GoogleマップでAndroidアプリケーションを作成しています。私はマップを含む断片を表示することに問題があります。返品時にフラグメント(googleマップ付き)をロードすると例外が発生します

android.view.InflateExceptionバイナリXMLファイルのライン#28:エラーによって引き起こさ

クラスフラグメントを膨らませる私は例外をしたんが、私は、私はこの例外を持っているマップに戻る場合は、最初のthime java.lang.IllegalArgumentExceptionバイナリXMLファイルライン#28:重複ID 0x7f0d0090、タグnull、または親ID 0xffffffffcom.google.android.gms.maps.SupportMapFragmentの別のフラグメント。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"> 

    <fragment class="com.google.android.gms.maps.SupportMapFragment" 
       android:layout_height="match_parent" 
       android:layout_width="match_parent" 
       android:id="@+id/map"/> 

</RelativeLayout> 
:ここ The stacktrace you can find on Pastebin.


public class RoeteFragment extends Fragment implements OnMapReadyCallback { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     // exception thrown on line below 
     return inflater.inflate(R.layout.fragment_roete, container, false); 
    } 

    @Override 
    public void onMapReady(GoogleMap googleMap) { 
     // not so important code for the question. 
    } 

    public static Fragment newInstance() { 
     return new RoeteFragment(); 
    } 
} 
ここ

XMLファイルfragment_roeteを見つける私の断片に私のコードですここ


は私がRoeteFragment古い断片を置換する方法である:

_fragmentReplaceListener.newFragment(RoeteFragment.newInstance(_roete)); 

注コードによって上:_fragmentReplaceListenerMainActivityにimpelementedと、このコードが含まれているインタフェースの宣言です:

@Override 
public void newFragment(Fragment fragment) { 
    FragmentTransaction transaction = getFragmentManager().beginTransaction(); 
    transaction.replace(R.id.frmlytContentMain, fragment); 
    transaction.addToBackStack("transaction_fromOldFragment_toNewFragment"); 
    transaction.commit(); 
} 

上記コードによる注意:frmlytContentMainは、FrameLayoutです。

+1

チェックこの回答:http://stackoverflow.com/a/14695397/5828664 – Amesys

+0

このhttp://stackoverflow.com/a/36357365/1320616 –

答えて

0

使用MapFragmentの代わりSupportMapFragment

<fragment 
android:id="@+id/map" 
class="com.google.android.gms.maps.MapFragment" 
       android:layout_height="match_parent" 
       android:layout_width="match_parent" 
       /> 
+0

をチェックI私は同じ問題を抱えています。私は申し訳ありません... –

+0

は、@Overrideを使用します。 public void newFragment(フラグメントフラグメント){ FragmentTransaction transaction = getSupportFragmentManager()。beginTransaction(); transaction.replace(R.id.frmlytContentMain、fragment); transaction.addToBackStack( "transaction_fromOldFragment_toNewFragment"); transaction.commit(); } –

+0

問題は、私がこれを行うと、同じコードで置き換える3つの断片に問題があることです。だから私は[このエラー](http://i.stack.imgur.com/v4olo.png)を持っています。とにかく、私の問題は今[この回答](http://stackoverflow.com/questions/14083950/duplicate-id-tag-null-or-parent-id-with-another-fragment-for-com-google)によって解決されています。 -androi/14695397#14695397)。あなたの提案をありがとう。 –

関連する問題