Как отсортировать музыку (с треком песни) в виде списка с внешнего хранилища в порядке возрастания - PullRequest
0 голосов
/ 05 июля 2019

Мне удается прочитать подробности песни из моего внешнего хранилища и подумать о добавлении кнопки сортировки, поскольку она мешает.Однако, когда я пытаюсь отсортировать песню в порядке по умолчанию, но в основном я сортировал только имя, а дорожка песни не сортируется вместе с ним.Например.Предполагается, что песня 1 будет Firefly-NCS, а песня 2 - проектом The Hero-Jam.Но когда я сортирую, он дает мне Song 1 в качестве проекта Hero-Jam PLAYING Firefly-NCS и звукового сопровождения через стих.

//Sort Button



Button button = findViewById(R.id.Sort);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            sortArrayList();

        }
    });

}

public void sortArrayList()
{
    Arrays.sort(itemAll);
    arrayAdapter.notifyDataSetChanged();
}

//The file where it read from my inner storage And display it
public ArrayList<File> ReadOnlyFile(File file)
{
    ArrayList<File> arrayList = new ArrayList<>();
    File[] allFiles = file.listFiles();
    for (File indiviualFile : allFiles)
    {
        if (indiviualFile.isDirectory() && !indiviualFile.isHidden())
        {
            arrayList.addAll(ReadOnlyFile(indiviualFile));
        }
        else {
            if (indiviualFile.getName().endsWith(".mp3"))
            {
                arrayList.add(indiviualFile);
            }
        }
    }
    return arrayList;
}


public void displayAudioSong()
{
    final ArrayList<File> audioSongs = ReadOnlyFile(Environment.getExternalStorageDirectory());
    itemAll = new String[audioSongs.size()];

    for (int songCounter = 0; songCounter<audioSongs.size(); songCounter++)
    {
        itemAll[songCounter]=audioSongs.get(songCounter).getName();

    }
    arrayAdapter =new ArrayAdapter (this, android.R.layout.simple_list_item_1, itemAll );
    mRecycle.setAdapter(arrayAdapter);

    mRecycle.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id)
        {
            String songname = mRecycle.getItemAtPosition(position).toString();
            startActivity(new Intent(getApplicationContext(), SongPlayer.class)
            .putExtra("songs",audioSongs).putExtra("songname",songname)
            .putExtra("pos",position));
        }
    });
}

Что я должен сделать, чтобы песня и трек песни были отсортированы поэто когда я нажимаю кнопку сортировки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...