2016-09-23 16 views
-3

私は、Androidでアプリをやっていると私はいくつかの断片を設定しようとしているが、私はアプリを起動するたびに、それは2つのエラーでクラッシュ:Androidの断片エラー膨張クラスフラグメント

MainActivity: android.view.InflateException: Binary XML file line #25: Binary XML file line #25: Error inflating class fragment

[email protected] must implement OnFragmentInteractionListener

インターネットを検索しました。私は、アンドロイドからのXMLファイルを変更している人をたくさん見つけました:: name too class class。私はそれをして、まだ私に起こります。

私はフラグメントにナビゲートするために、このコードを使用します。

public boolean onNavigationItemSelected(MenuItem item) { 
     // Handle navigation view item clicks here. 
     int id = item.getItemId(); 
     Fragment fragment = new Fragment(); 

     if (id == R.id.nav_camera) { 
      FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 
      ft.replace(R.id.search_fragment, fragment); 
      ft.commit(); 
     } else if (id == R.id.nav_gallery) { 

     } else if (id == R.id.nav_slideshow) { 

     } else if (id == R.id.nav_manage) { 

     } else if (id == R.id.nav_share) { 

     } else if (id == R.id.nav_send) { 

     } 

     DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
     drawer.closeDrawer(GravityCompat.START); 
     return true; 
    } 

マイ・フラグメントXML:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".SearchFragment"> 

    <!-- TODO: Update blank fragment layout --> 
    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:text="@string/hello_blank_fragment" /> 

</FrameLayout> 

そして、私はactivity_mainでそれを実装:

<fragment android:id="@+id/search_fragment" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     class="com.onelio.app.SearchFragment"/> 

どのようにすることができます修理する? ありがとう

答えて

0

あなたは静的と動的を混在させようとしていますFragment。レイアウトに<fragment>要素を含めると、クラスcom.onelio.app.SearchFragmentを膨らませてレイアウトに挿入するようにシステムに指示しています。 これは動的には変更できません

あなたがActivityを所有内FragmentTransactionビューとを介して添加することができる動的断片を作成する(まだ新しいSearchFragment()、またはそれへの呼び出し静的メソッドSearchFragment.createInstance()を介して)新しいフラグメントを作成する場合(または他のFragment)のレイアウトです。

Fragmentの詳細とコード例については、this pageを参照してください。

関連する問題