2016-07-24 2 views
0

私はアンドロイドの開発に新しく、フラグメントを別のフラグメントに置き換える際にいくつかの問題があります。Android:アクティビティ内のフラグメントを別のフラグメントに置き換えようとしていますか?

私のMainFragment.javaでは、私がonCreateで最初に行うことは、インターネット接続のチェックであり、そうでなければ、そのフラグメントをInternetCheckFragmentに置き換えます。しかし、に、check_internet.xmlを膨らませようとすると、アプリは終了しますが、エラーはありません。

activity_main.xml:

<fragment 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:id="@+id/main_browse_fragment" 
    android:name="com.ui.MainFragment" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.ui.MainActivity" 
    tools:deviceIds="tv" 
    tools:ignore="MergeRootFrame" /> 

MainActivity.java:

MainFragment.java:

public class MainFragment extends VerticalGridFragment 
{ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 

     if (isConnectedToInternet() == true) 
     { 
      // DO stuff 
     } 
     else 
     { 
      showInternetError(); 
     } 
    } 

    public void showInternetError() 
    { 
     getFragmentManager().beginTransaction().replace(R.id.show_internet_error , new InternetCheckFragment()) 
       .commit(); 
    } 

    .... 
} 

InternetCheckFragment.java:

public class InternetCheckFragment extends Fragment 
{ 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) { 
     // Defines the xml file for the fragment 
     return inflater.inflate(R.layout.check_internet, parent, false); 
    } 
} 

check_internet.xml:

<?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" 
    android:id="@+id/show_internet_error" 
    android:background="@color/black_transparent"> 

    <Button android:id="@+id/btn_retry" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:text="RETRY" 
     android:layout_centerInParent="true"/> 

</RelativeLayout> 

しかし、私はエラーNo view found for idを取得しています。

私は何か正しく設定していないと思いますか?誰かが私を正しい方向に向けることができますか?

ありがとうございます!

答えて

0

うわからのサポートフラグメント!...それは私がR.id.main_browse_fragmentgetFragmentManager().beginTransaction().replace(R.id.show_internet_error , new InternetCheckFragment()).commit();R.id.show_internet_errorを交換し、今では動作しますが、愚かな間違いでした。

0

FragmentのFragmentManagerを使用してFragmentにFragmentを展開しています。 このFragmentManagerはこれを処理できません。

AppCompatActivity.getSupportFragmentManager()SupportFragmentManagerを使用してみてくださいとandroid.support.v4.app.Fragment

関連する問題