나는 안드로이드 개발이 처음이고 조각을 다른 조각으로 바꾸는 데 문제가 있습니다.
내 MainFragment.java
에서 내가하는 첫 번째 일은 onCreate
인터넷 연결을 확인하는 것이며 그렇지 않은 경우 해당 조각을 InternetCheckFragment
. 그러나에서 InternetCheckFragment.java
를 부풀 리려고 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 :
public class MainActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
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
합니다.
내가 뭔가를 올바르게 설정하지 않은 것이 확실합니까? 누군가 나를 올바른 방향으로 가리킬 수 있습니까?
감사!
Ugh! .. 그건 어리석은 실수 였고, R.id.show_internet_error
내부 getFragmentManager().beginTransaction().replace(R.id.show_internet_error , new InternetCheckFragment()).commit();
를 로 교체 R.id.main_browse_fragment
했고 이제 작동합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다