2011-11-20 55 views
0

私のクラスを実行すると、リストビューには最初の曲が1つ表示されますが、それ以降は曲を追加してリストビューに追加しません。私は自分の活動が終わるたびに再開していないと思います。ここに私の更新方法は、次のとおりです。ListViewは更新されません

public void updatelist() { 

    Cursor cursor = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null,null); 

    if (cursor.moveToFirst()) { 
     for(int j=0;j<cursor.getCount();j++) { 

      int ALBUM_ID = cursor.getInt((cursor.getColumnIndex(MediaStore.Audio.AlbumColumns.ALBUM_ID))); 
      int pathcolumn = cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA); 
      String path1 = cursor.getString(pathcolumn); 
      String album_url = null; 
      Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart"); 
      Uri uri = ContentUris.withAppendedId(sArtworkUri, ALBUM_ID); 
      album_url = uri.toString(); 
      ContentResolver res = this.getContentResolver(); 

      // Album 
      String album_name = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.AlbumColumns.ALBUM)); 
      String year = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.AudioColumns.YEAR)); 
      // String year = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.AlbumColumns.NUMBER_OF_SONGS)); 

      // artist 
      String artist_name = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.ArtistColumns.ARTIST)); 

      // display name 
      String DisplayName = cursor.getString(cursor.getColumnIndex(MediaStore.MediaColumns.DISPLAY_NAME)); 

      //title 
      String Title = cursor.getString(cursor.getColumnIndex(MediaStore.MediaColumns.TITLE)); 

      songtitle.add(Title); 
      artistname.add(artist_name); 
      albumname.add(album_name); 
      path.add(path1); 
     } 
    } 

    adapter = new ArrayAdapter<String>(this,R.layout.song,songtitle); 
    setListAdapter(adapter); 
} 

そして、ここでは私の破壊方法

@Override 
protected void onDestroy() { 
    super.onDestroy(); 
adapter.clear(); 
} 

であなたの助けをいただき、ありがとうございます。

+0

あなたがアプリケーションを終了するたびにonDestroy()が呼び出されるため、アプリケーションを終了するたびにリストを更新する場合は、代わりにonPause()でアダプタをクリアしてみてください。アプリケーションダウン。 – Urban

答えて

関連する問題