【发布时间】:2015-10-02 13:14:38
【问题描述】:
目前我正在尝试制作媒体播放器,并尝试从我创建的活动类中调用 updateMusic 方法,并将其显示到 listFragemnt 类中
但我不断收到此错误,我不知道如何使它工作 我最近在活动中格式化了整个应用程序,它工作得非常好,所以我试图将它格式化为片段,这样我就可以添加一个用于滑动的 viewpager,但除此之外
MediaActivity 类
public class MediaActivity extends ListActivity {
Uri uri = Uri.parse(Environment.getExternalStorageDirectory() + "/");
public Uri uriMusic = Uri.parse("/storage/emulated/0/MUSIC/");
public Uri uriVideo = Uri.parse("/storage/emulated/0/VIDEOS/");
private static final String SD_PATH = new String(Environment.getExternalStorageDirectory().getPath() + "/");
public static final String MUSIC_PATH = new String("/storage/emulated/0/MUSIC/");
public static final String VIDEO_PATH = new String("/storage/emulated/0/VIDEOS/");
public List<String> videos = new ArrayList<String>();
public List<String> songs = new ArrayList<String>();
private MediaPlayer mp = new MediaPlayer();
public void updateMusic() {
File home = new File(MUSIC_PATH);
if (home.listFiles(new mp3Filter()).length > 0) {
for (File file : home.listFiles(new mp3Filter())) {
songs.add(file.getName());
}
ArrayAdapter<String> songList = new ArrayAdapter<String>(this, R.layout.song_item, songs);
setListAdapter(songList);
}
}
那么这是扩展片段以显示列表的 CategorySong 类
public class CategorySongs extends ListFragment {
MediaActivity mediaActivity;
@Override
public View onCreateView(LayoutInflater inflater,
@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
container.removeAllViews();
mediaActivity = new MediaActivity();
mediaActivity.updateMusic();
mediaActivity.buttons();
return inflater.inflate(R.layout.activity_media, container, false);
}
}
但我只是收到此错误
07-13 20:54:26.701 7281-7281/com.example.mason.mediaplayer E/MediaPlayer-JNI﹕ QCMediaPlayer mediaplayer NOT present 07-13 20:54:26.711 7281-7281/com.example.mason.mediaplayer E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.mason.mediaplayer, PID: 7281
java.lang.IllegalStateException: System services not available to Activities before onCreate()
at android.app.Activity.getSystemService(Activity.java:5259)
at android.widget.ArrayAdapter.init(ArrayAdapter.java:310)
at android.widget.ArrayAdapter.<init>(ArrayAdapter.java:153)
at com.example.mason.mediaplayer.MediaActivity.updateMusic(MediaActivity.java:287)
at com.example.mason.mediaplayer.CategorySongs.onCreateView(CategorySongs.java:28)
【问题讨论】:
标签: java android android-fragments