2017-01-21 13 views
0

ここで私が何を変更したのか分かりません。
WatchingFragmentに移動するコードがうまくいきました。 私は以来、ニュースとbuynsellの断片に移動するコードを追加しました。今度はNavメニューからその特定のアイテムをクリックします。アプリがクラッシュします。フラグメントへの移動

ご協力いただければ幸いです。フラグメント

@SuppressWarnings("StatementWithEmptyBody") 
@Override 
public boolean onNavigationItemSelected(MenuItem item) { 
    // Handle navigation view item clicks here. 
    int id = item.getItemId(); 

    if (id == R.id.nav_home) { 
     // Handle the camera action 
    } else if (id == R.id.nav_watching) { 
     WatchingFragment watchingFragment = new WatchingFragment(); 
     FragmentManager manager = getSupportFragmentManager(); 
     manager.beginTransaction().replace(R.id.relativeLayout_for_fragment, watchingFragment, watchingFragment.getTag()).commit(); 

    } else if (id == R.id.nav_news) { 
     NewsFragment newsFragment = new NewsFragment(); 
     FragmentManager manager = getSupportFragmentManager(); 
     manager.beginTransaction().replace(R.id.relativeLayout_for_fragment, newsFragment, newsFragment.getTag()).commit(); 

    } else if (id == R.id.nav_buynsell) { 
     BuynSellFragment buynSellFragment = new BuynSellFragment(); 
     FragmentManager manager = getSupportFragmentManager(); 
     manager.beginTransaction().replace(R.id.relativeLayout_for_fragment, buynSellFragment, buynSellFragment.getTag()).commit(); 

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

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

    //} 

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

}

java.lang.IllegalArgumentException: No view found for id 0x7f0d0097 (uk.co.cyclesavy.cyclesavy:id/relativeLayout_for_fragment) for fragment NewsFragment{ba864be #0 id=0x7f0d0097} 
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1292) 
        at android.support.v4.app.FragmentManagerImpl.moveFragmentsToInvisible(FragmentManager.java:2323) 
        at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2136) 
        at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2092) 
        at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1998) 
        at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:709) 
        at android.os.Handler.handleCallback(Handler.java:751) 
        at android.os.Handler.dispatchMessage(Handler.java:95) 
        at android.os.Looper.loop(Looper.java:154) 
        at android.app.ActivityThread.main(ActivityThread.java:6077) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 

アプリケーションが終了を呼び出す

。フラグメントの

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="uk.co.cyclesavy.cyclesavy.WatchingFragment"> 

     <RadioButton 
     android:text="RadioButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="216dp" 
     android:id="@+id/radioButton" /> 

    <CheckBox 
     android:text="CheckBox" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBottom="@+id/radioButton" 
     android:layout_alignLeft="@+id/radioButton" 
     android:layout_alignStart="@+id/radioButton" 
     android:layout_marginBottom="71dp" 
     android:id="@+id/checkBox" /> 

    <Button 
     android:text="Button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/radioButton" 
     android:layout_alignRight="@+id/checkBox" 
     android:layout_alignEnd="@+id/checkBox" 
     android:layout_marginTop="30dp" 
     android:id="@+id/button2" /> 

</FrameLayout> 
+1

そしてあなたのフラグメントを含むアクティビティのXMLを表示してください。 ID値のように、RelativeLayoutではなく、FrameLayoutを使用する必要があります。 –

+0

どのXMLを見たいですか?申し訳ありませんが、私は非常に新しいので、追加のフラグメントを追加するまで動作したガイドに従ってください –

+0

あなたの 'onCreate'メソッドでは、' R.layout 'を使って 'setContentView'を呼び出しました。 '、あなたの質問に「 .xml'ファイルを表示してください。 –

答えて

1

に移動しようとしています。あなたのレイアウトにそのIDのビューはありません。

関連する問題