2017-03-06 13 views
0

私はこの作業に少し突き当たっています。私はメインマップにGoogleマップを埋め込んだアプリケーションを表示しています。ユーザーがドロワーメニューリスト内の送信ボタンをクリックすると、グラフを表示する別のフラグメントに置き換えたいと思っています。フラグメントコールが原因でアプリケーションが応答しない

私が送信したアプリケーションをクリックすると、嫌われている「アプリケーションが応答していません」というメッセージが表示されます。しかし、もし私がandroid:nameフィールドをマップフラグメントと同じものに変更すると、マップは正しく動作して表示されます。私はチャートフラグメント

public boolean onNavigationItemSelected(MenuItem item) { 
     // Handle navigation view item clicks here. 
     Snackbar snackbar; 
     Fragment fragment = null; 
     switch(item.getItemId()){ 
      case R.id.nav_manage: 
       snackbar = Snackbar 
         .make(coordinatorLayout, "manage", Snackbar.LENGTH_LONG); 
       snackbar.show(); 
       break; 
      case R.id.nav_share: 
       snackbar = Snackbar 
         .make(coordinatorLayout, "share", Snackbar.LENGTH_LONG); 
       snackbar.show(); 
       break; 
      case R.id.nav_send: 
       snackbar = Snackbar 
         .make(coordinatorLayout, "send", Snackbar.LENGTH_LONG); 
       snackbar.show(); 
       fragment = new ChartsFragment(); 
       break; 
      case R.id.nav_view: 
       snackbar = Snackbar 
         .make(coordinatorLayout, "view", Snackbar.LENGTH_LONG); 
       snackbar.show(); 
       break; 
     } 
     if(fragment != null){ 
      getSupportFragmentManager().beginTransaction() 
        .replace(R.id.maincontainer,fragment) 
        .commit(); 
     } 
     // Highlight the selected item has been done by NavigationView 
     item.setChecked(true); 
     // Set action bar title 
     //setTitle(item.getTitle()); 
     DrawerLayout drawer = (DrawerLayout) 
findViewById(R.id.activity_main); 
     drawer.closeDrawer(GravityCompat.START); 
     return true; 
    } 

MapsFragmentのonCreate

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.fragment_maps, container, false); 
     SupportMapFragment mMapFragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map); 
     mMapFragment.getMapAsync(this); 
     mContext = getActivity(); 
     return rootView; 
    } 

ChartsFragmentのonCreate

を起動する。ここで、iは、マップフラグメントを起動

主な活動スニペット

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    if (toolbar != null) { 
     setSupportActionBar(toolbar); 
    } 

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.activity_main); 
    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
      this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); 
    drawer.addDrawerListener(toggle); 
    toggle.syncState(); 


    mapsFragment = new MapsFragment(); 
    getSupportFragmentManager().beginTransaction() 
      .add(R.id.maincontainer,mapsFragment) 
      .commit(); 

    navigationView = (NavigationView) findViewById(R.id.nav_view); 
    navigationView.setNavigationItemSelectedListener(this); 

} 

主な活動は、スニペット

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { 
    View rootView = inflater.inflate(R.layout.fragment_charts, container, false); 
    return rootView; 
} 

私はすでに

アンドロイド置き換えることを試みた

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/map_ui" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <fragment xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:map="http://schemas.android.com/apk/res-auto" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:id="@+id/map" 
     android:name="com.google.android.gms.maps.SupportMapFragment" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
    </fragment> 
</RelativeLayout> 

Charts Fragment 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/charts_ui" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <fragment xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/charts" 
     android:name="com.fabio.gis.geotag.ChartsFragment" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Hello World!" /> 

    </fragment> 
</RelativeLayout> 

メインアプリケーションバーのXML

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    android:id="@+id/coordinator_layout_app_bar_main" 
    tools:context="com.fabio.gis.geotag.MainActivity"> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 

    </android.support.design.widget.AppBarLayout> 

    <include layout="@layout/content_activity" /> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/place_marker" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="80dp" 
     android:layout_gravity="bottom|end" 
     android:layout_marginRight="16dp" 
     app:backgroundTint="@color/secondaryColorAccent" 
     app:elevation="6dp" 
     app:pressedTranslationZ="12dp" 
     android:src="@drawable/ic_marker" /> 
    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/send_positions" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|end" 
     app:elevation="6dp" 
     app:backgroundTint="@color/colorAccent" 
     app:pressedTranslationZ="12dp" 
     android:layout_margin="16dp" 
     android:src="@drawable/ic_play_arrow_white_24dp" /> 
</android.support.design.widget.CoordinatorLayout> 

地図の断片:名前= "com.fabio.gis.geotag.ChartsFragment"

クラス= "com.fabio.gis.geotag.ChartsFragmentは"

何も変わっていません。

ご協力いただきありがとうございます。私は私がアンドロイドの初心者だと思っています、多分私はちょうど馬鹿なルーキーミスのために苦労しています。

それはANRに残っている間、それはそれは各位に私に

03-06 17:11:43.322 7033-7033/? E/AndroidRuntime:  at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44) 
               at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:189) 
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:769) 
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727) 
               at android.view.LayoutInflater.rInflate(LayoutInflater.java:858) 
               at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821) 
               at android.view.LayoutInflater.inflate(LayoutInflater.java:518) 
               at android.view.LayoutInflater.inflate(LayoutInflater.java:426) 
               at com.fabio.gis.geotag.ChartsFragment.onCreateView(ChartsFragment.java:20) 
               at android.support.v4.app.Fragment.performCreateView(Fragment.java:2080) 
               at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1065) 
               at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1268) 
               at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1370) 
               at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2415) 
               at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44) 
               at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:189) 
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:769) 
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727) 
               at android.view.LayoutInflater.rInflate(LayoutInflater.java:858) 
               at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821) 
               at android.view.LayoutInflater.inflate(LayoutInflater.java:518) 
               at android.view.LayoutInflater.inflate(LayoutInflater.java:426) 
               at com.fabio.gis.geotag.ChartsFragment.onCreateView(ChartsFragment.java:20) 
               at android.support.v4.app.Fragment.performCreateView(Fragment.java:2080) 
               at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1065) 
               at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1268) 
               at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1370) 
               at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2415) 
               at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44) 
               at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:189) 
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:769) 
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727) 
               at android.view.LayoutInflater.rInflate(LayoutInflater.java:858) 
               at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821) 
               at android.view.LayoutInflater.inflate(LayoutInflater.java:518) 
               at android.view.LayoutInflater.inflate(LayoutInflater.java:426) 
               at com.fabio.gis.geotag.ChartsFragment.onCreateView(ChartsFragment.java:20) 
               at android.support.v4.app.Fragment.performCreateView(Fragment.java:2080) 
               at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1065) 
               at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1268) 
               at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1370) 
               at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2415) 
               at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44) 
               at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:189) 
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:769) 
               at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727) 
               at android.view.LayoutInflater.rInflate(LayoutInflater.java:858) 
               at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821) 
               at android.view.LayoutInflater.inflate(LayoutInflater.java:518) 
               at android.view.LayoutInflater.inflate(LayoutInflater.java:426) 

              read: unexpected EOF! 
+0

あなたはエラーログを投稿してください。 – rahul

+0

私はアプリがANRにあった後に私に与えたstacktraceを投稿しました。 – Fabio

答えて

0

を、次のスタックトレースのエラーを与えた後、エラーが可能予期しない実行時例外を引き起こし、Gradleのファイルにいくつかの矛盾したライブラリー参照のバージョンによって引き起こされました。

問題はこのthread

に取り組まれているが、それは将来的に誰かに時間を節約することができます願っています。