IllegalStateException de Android: Fragmento no adjunto a Activity webview

Así que soy nuevo en la escritura de aplicaciones para Android, y estoy tratando de trabajar en una aplicación de práctica que espero que pueda convertirse en algo más tarde. Tuve 3 pestañas en la barra de acción que funcionó bien antes de que decidí tratar de añadir webview a uno de ellos. Ahora se bloquea con una IllegalStateException. Y como no sé demasiado sobre android en este momento, no puedo entender lo que está mal.

La actividad principal:

private ViewPager viewPager; private TabsPagerAdapter mAdapter; private ActionBar actionBar; private String[] tabs = { "Web", "Facebook", "Twitter" }; @SuppressLint("NewApi") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Initialization viewPager = (ViewPager) findViewById(R.id.pager); actionBar = getActionBar(); mAdapter = new TabsPagerAdapter(getSupportFragmentManager()); viewPager.setAdapter(mAdapter); actionBar.setHomeButtonEnabled(false); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); // Adding Tabs for (String tab_name : tabs) { actionBar.addTab(actionBar.newTab().setText(tab_name).setTabListener(this)); } /** * on swiping the viewpager make respective tab selected * */ viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageSelected(int position) { // on changing the page // make respected tab selected actionBar.setSelectedNavigationItem(position); } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { } }); } @Override public void onTabReselected(Tab tab, FragmentTransaction ft) { } @Override public void onTabSelected(Tab tab, FragmentTransaction ft) { // on tab selected // show respected fragment view viewPager.setCurrentItem(tab.getPosition()); } @Override public void onTabUnselected(Tab tab, FragmentTransaction ft) { } 

El WebFragmento con la webview:

 public class WebFragment extends Fragment { private String url = getString(R.string.website); //@Override //public void onActivityCreated(Bundle savedInstanceState) //{ //super.onActivityCreated(savedInstanceState); //} @SuppressLint("SetJavaScriptEnabled") @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.web_fragment, container, false); WebView tolerableWebView = (WebView) getView().findViewById(R.id.webview); tolerableWebView.getSettings().setJavaScriptEnabled(true); tolerableWebView.loadUrl(url); return rootView; } } 

El TabsPagerAdapter:

 public class TabsPagerAdapter extends FragmentPagerAdapter { public TabsPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int index) { switch (index) { case 0: // Top Rated fragment activity return new WebFragment(); case 1: // Games fragment activity return new FacebookFragment(); case 2: // Movies fragment activity return new TwitterFragment(); } return null; } @Override public int getCount() { // get item count - equal to number of tabs return 3; } } 

El fragmento web xml

 <?xml version="1.0" encoding="utf-8"?> <WebView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> </WebView> 

La actividad principal xml:

 <android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent"/> 

Cualquier ayuda sería genial! Gracias

Generalmente obtienes ese error cuando intentas realizar un trabajo después de que el Fragmento ya no esté conectado a la Actividad. En la devolución de llamada que activa la IllegalStateException, agregue una comprobación para isAdded: http://developer.android.com/reference/android/app/Fragment.html#isAdded ()

 if(!isAdded()) { return; } 
  • Tamaño del archivo que obtenemos a través de la función AssetManager getAssets en Android
  • Cambiar tamaño de fuente en ListView - Android / Eclipse
  • Interfaz OnClickListener en android
  • No se puede realizar la operación porque no hay ninguna transacción actual al insertar en la base de datos
  • Establecer setChunkedStreamingMode en HttpURLConnection no puede entregar datos al servidor
  • RxJava No puede crear el controlador dentro de hilo que no ha llamado Looper.prepare ()
  • String.concat () no hace concatenación
  • ¿Cómo puedo recuperar el tamaño de un archivo durante la descarga de una URL (mediante una conexión http)?
  • ¿Por qué Gradle necesita un archivo settings.gradle?
  • NullPointerException en startAnimation (anim)
  • Android: falló la conversión a formato Dalvik: no se pudo ejecutar dex: null
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.