0

私は音楽プレーヤーを作成していますが、ListFragment を使用してアーティスト名を表示しようとしています。コードは次のとおりです。

import android.app.ListFragment;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.CursorLoader;
import android.support.v4.content.Loader;
import android.support.v4.widget.CursorAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class AlbumsFragment extends ListFragment implements
LoaderManager.LoaderCallbacks < Cursor > {

    AlbumsAdapter mAdapter;

    @
    Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View myFragmentView = inflater.inflate(R.layout.tabs_list, container, false);
        return myFragmentView;
    }


    @
    Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        mAdapter = new AlbumsAdapter(getActivity(), null);
        setListAdapter(mAdapter);

        getLoaderManager().initLoader(0, null, this);
    }


    static final String[] ALBUM_SUMMARY_PROJECTION = {
        MediaStore.Audio.Albums._ID, MediaStore.Audio.Albums.ALBUM
    };



    public Loader < Cursor > onCreateLoader(int id, Bundle args) {
        String select = null;
        return new CursorLoader(getActivity(), MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, ALBUM_SUMMARY_PROJECTION, select, null, null);
    }



    public void onLoadFinished(Loader < Cursor > loader, Cursor data) {
        mAdapter.swapCursor(data);
    }



    public void onLoaderReset(Loader < Cursor > loader) {
        mAdapter.swapCursor(null);
    }
}  

次のエラーが表示されます: タイプ LoaderManager のメソッド initLoader(int, Bundle, LoaderManager.LoaderCallbacks) は、引数 (int、null、AlbumsFragment) には適用できません。

4

2 に答える 2

0

また、使用する必要があります

import android.support.v4.app.ListFragment;

現在、サポートのものではなく、標準の ListFragment を使用しています。

于 2013-09-05T09:57:39.717 に答える
0

インポートでこれを見ましたか?

import android.support.v4.app.FragmentActivity;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.CursorLoader;
import android.support.v4.content.Loader;
import android.support.v4.widget.CursorAdapter;

これは、LoaderManager のサポート バージョンを使用していることを意味します。

だから交換すればいい

 getLoaderManager().initLoader(0, null, this);    

 getSupportLoadManager().initLoader(0, null, this);
于 2013-07-15T08:58:05.293 に答える