ClassCastException quando lancia a ViewPager
-
26-10-2019 - |
Domanda
Sto cercando di creare un'applicazione basata sulla nuova ViewPager dalla libreria compability. Quando copio le linee dall'applicazione di esempio:
setContentView(R.layout.main);
MyAdapter mAdapter = new MyAdapter(getSupportFragmentManager(), this);
ViewPager mPager = (ViewPager) findViewById(R.id.view_pager);
mPager.setAdapter(mAdapter);
con il seguente main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/view_pager"
/>
<LinearLayout>
ho un
java.lang.ClassCastException: android.support.v4.app.NoSaveStateFrameLayout
alla linea dove ho lanciato a ViewPager. Qualcuno ha un'idea perché questo sta accadendo?
Soluzione
In realtà il problema ist il vecchio tracciato di gonfiaggio problema (aspetto qui ). Per alcuni motivi magici findViewById non restituisce nulla qui. Invece di tornare nulla restituisce un android.support.v4.app.NoSaveStateFrameLayout che è molto divertente btw.
Altri suggerimenti
calco eccezioni si verificano quando si tenta di lanciare un oggetto di tipo che non è compatibile con esso. Quindi, si prega di controllare se ViewPager
di istanza che si sta facendo è corretto o meno.