Loaderの使用について
2236 ワード
LoaderCallbackインタフェースを実装するクラスが書かれていて、使用中に以下のエラーが発生した場合、おめでとうございます.私と同じ問題に遭遇しました.それは、実装クラスにv 4パケットが導入され、クラスオブジェクトを使用するクラスでloadermanagerが取得されると、v 4のパケットではなくappの下のパケットが導入されます.解決策はもちろんパッケージが一致し、v 4の下に導入された場合、ActivityはFragmentActivityを継承し、getSupportLoaderManager()を呼び出す必要があります.
java.lang.ClassCastException: cn.xxxxx.PhoneImage cannot be cast to android.app.LoaderManager$LoaderCallbacks
もちろん、質問の答えも表示されます.http://www.dewen.io/q/3609
あなたのコードを見て、あなたはsupportV 4ライブラリを使っています.FragmentActivityライブラリを導入する必要があります.あなたのActivityはFragmentActivityを継承します.また、getSupportLoaderManagerメソッドでgetLoaderManagerを置き換えます.例をあげます.
java.lang.ClassCastException: cn.xxxxx.PhoneImage cannot be cast to android.app.LoaderManager$LoaderCallbacks
もちろん、質問の答えも表示されます.http://www.dewen.io/q/3609
あなたのコードを見て、あなたはsupportV 4ライブラリを使っています.FragmentActivityライブラリを導入する必要があります.あなたのActivityはFragmentActivityを継承します.また、getSupportLoaderManagerメソッドでgetLoaderManagerを置き換えます.例をあげます.
- import android.os.Bundle;
- import android.support.v4.app.FragmentActivity;
- import android.support.v4.app.LoaderManager;
- import android.support.v4.content.Loader;
- import android.widget.Toast;
- public class MyActivity extends FragmentActivity implements LoaderManager.LoaderCallbacks<Object> {
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- getSupportLoaderManager().initLoader(0, null, this);
- }
- public Loader<Object> onCreateLoader(int i, Bundle bundle){
- return null; // TODO
- }
- public void onLoadFinished(Loader loader, Object o) {
- Toast.makeText(this, "onLoadFinished", Toast.LENGTH_SHORT).show();
- }
- public void onLoaderReset(Loader loader) {
- Toast.makeText(this, "onLoaderReset", Toast.LENGTH_SHORT).show();
- }
- }