私はアンドロイドの開発に新しく、フラグメントを別のフラグメントに置き換える際にいくつかの問題があります。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
を取得しています。
私は何か正しく設定していないと思いますか?誰かが私を正しい方向に向けることができますか?
ありがとうございます!