简体   繁体   English

音乐播放器:应用程序崩溃

[英]Music Player :App crashes

when i tried running the following code,the app crashed.But if i leave this fragment empty it won't crash... 当我尝试运行以下代码时,应用程序崩溃了。但是,如果我将此片段留为空白,它将不会崩溃...

public class F_Songs extends Fragment {
    ListView SngList;
     ArrayList<SongDetails> songdetails=null;
    String[] TRACK_COLUMNS;Cursor songCursor = null;




    AdapterView.AdapterContextMenuInfo info;
    ViewGroup view;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) 
    {    view = (ViewGroup) inflater.inflate(R.layout.l_songs, null);


     TRACK_COLUMNS = new String[] {          
             MediaStore.Audio.AudioColumns.ALBUM,
             MediaStore.Audio.AudioColumns.ARTIST,
             MediaStore.MediaColumns.DATA,
             MediaStore.MediaColumns.DISPLAY_NAME,
             MediaStore.Audio.AudioColumns.DURATION,
             MediaStore.Audio.AudioColumns.TRACK,
             MediaStore.Audio.AudioColumns.YEAR, 
             MediaStore.MediaColumns.SIZE,
             MediaStore.MediaColumns.TITLE,

             MediaStore.Audio.Media._ID
             };


    Cursor songCursor = getActivity().managedQuery(MediaStore.Audio.Media.
            INTERNAL_CONTENT_URI, TRACK_COLUMNS, null, null, null);

    if(songCursor != null){
        while(songCursor.moveToNext()) {
         SongDetails songs = new SongDetails();
        songs.song= songCursor.getString(3).toString();
        songs.Path=songCursor.getString(2).toString();
        songs.Artist=songCursor.getString(1).toString();
          songdetails.add(songs);
        //  publishProgress();
       }
   }




        SngList = (ListView) view.findViewById(R.id.SongList);
        registerForContextMenu(SngList);
         SngList.setAdapter(new Adapter_ListView(songdetails));


        getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

//           new ListPopulate().execute(); 


        return view;
        }}

and here is the logcat 这是logcat

10-01 22:09:24.890: E/AndroidRuntime(538): FATAL EXCEPTION: main
10-01 22:09:24.890: E/AndroidRuntime(538): java.lang.NullPointerException
10-01 22:09:24.890: E/AndroidRuntime(538):  at source.justanothermusicplayer.F_Songs.onCreateView(F_Songs.java:55)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.support.v4.app.Fragment.performCreateView(Fragment.java:1478)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:472)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.support.v4.view.ViewPager.populate(ViewPager.java:1068)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.support.v4.view.ViewPager.populate(ViewPager.java:914)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1436)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.view.View.measure(View.java:12603)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4677)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:293)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.view.View.measure(View.java:12603)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4677)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1369)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.widget.LinearLayout.measureVertical(LinearLayout.java:660)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:553)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.view.View.measure(View.java:12603)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4677)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:293)
10-01 22:09:24.890: E/AndroidRuntime(538):  at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2072)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.view.View.measure(View.java:12603)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1044)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2418)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.os.Looper.loop(Looper.java:137)
10-01 22:09:24.890: E/AndroidRuntime(538):  at android.app.ActivityThread.main(ActivityThread.java:4340)
10-01 22:09:24.890: E/AndroidRuntime(538):  at java.lang.reflect.Method.invokeNative(Native Method)
10-01 22:09:24.890: E/AndroidRuntime(538):  at java.lang.reflect.Method.invoke(Method.java:511)
10-01 22:09:24.890: E/AndroidRuntime(538):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
10-01 22:09:24.890: E/AndroidRuntime(538):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
10-01 22:09:24.890: E/AndroidRuntime(538):  at dalvik.system.NativeStart.main(Native Method)

error is in this line songdetails.add(songs); 此行有错误songdetails.add(songs);

You're initializing songdetails with null . 您正在使用null初始化songdetails

You'll have to initialize your songdetails like this: 您必须像这样初始化您的songdetails

ArrayList<SongDetails> songdetails = new ArrayList<SongDetails>();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 尝试抓取子文件夹以查找音频文件时,音乐播放器应用程序崩溃 - Music player app crashes attempting to crawl subfolders looking for audio files 音乐播放器的进度栏不起作用并崩溃 - progress bar for music player doesnt work and crashes 在 Android 音乐播放器项目上工作,遇到了我的应用程序在启动时崩溃的问题: - Working on Android Music Player Project, and ran into the issue where my app crashes on start up: Android应用开发(音乐播放器) - Android App Development(Music Player) Media Player导致应用程序崩溃 - App crashes with Media Player 免费构建,但在Android Studio中点击音乐播放器时崩溃 - Error free build but crashes on click in music player in android studio 音乐播放器应用程序 - 避免两个音乐播放器同时播放 - Music Player App - avoid that two music players play at the same time Android音乐播放器应用的语音命令 - Voice command for android music player app 用于暂停/恢复另一个音乐播放器应用程序音乐的 Android 应用程序 - Android application to Pause/Resume the music of another music player app 如何通过应用程序将音乐加入默认的Android音乐播放器? - How to enqueue music to default android music player via app?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM