Search in sources :

Example 1 with NeteaseMusic

use of com.cyl.musiclake.api.netease.NeteaseMusic in project MusicLake by caiyonglong.

the class NeteaseMusicListActivity method listener.

@Override
protected void listener() {
    mAdapter.setOnItemClickListener((adapter, view, position) -> {
        if (view.getId() != R.id.iv_more) {
            action = 0;
            LogUtil.e(TAG, toplist.get(position).toString());
            mPresenter.getMusicInfo(toplist.get(position));
        }
    });
    mAdapter.setOnItemChildClickListener((adapter, view, position) -> {
        NeteaseMusic music = toplist.get(position);
        PopupMenu popupMenu = new PopupMenu(getApplicationContext(), view);
        popupMenu.setOnMenuItemClickListener(item -> {
            switch(item.getItemId()) {
                case R.id.popup_song_detail:
                    StringBuilder sb = new StringBuilder();
                    sb.append("艺术家:").append(music.getAuthors()).append("\n").append("专辑:").append(music.getAlbum().getName()).append("\n").append("播放时长:").append(FormatUtil.formatTime(music.getDuration())).append("\n").append("播放地址:").append(music.getMp3Url());
                    new MaterialDialog.Builder(NeteaseMusicListActivity.this).title("歌曲详情").content(sb.toString()).positiveText("确定").build().show();
                    break;
                case R.id.popup_song_goto_artist:
                    Log.e(TAG, music.toString());
                    Music music1 = new Music();
                    music1.setTitle(music.getName());
                    music1.setArtist(music.getArtists().get(0).getName());
                    Intent intent = new Intent(this, ArtistInfoActivity.class);
                    intent.putExtra(Extras.TING_UID, music1);
                    startActivity(intent);
                    break;
                case R.id.popup_add_playlist:
                    mPresenter.addPlaylist(new Music(music));
                    break;
                case R.id.popup_song_download:
                    action = 1;
                    mPresenter.getMusicInfo(music);
                    break;
            }
            return false;
        });
        popupMenu.inflate(R.menu.popup_song_online);
        popupMenu.show();
    });
}
Also used : MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) NeteaseMusic(com.cyl.musiclake.api.netease.NeteaseMusic) Music(com.cyl.musiclake.bean.Music) NeteaseMusic(com.cyl.musiclake.api.netease.NeteaseMusic) Intent(android.content.Intent) PopupMenu(android.widget.PopupMenu)

Aggregations

Intent (android.content.Intent)1 PopupMenu (android.widget.PopupMenu)1 MaterialDialog (com.afollestad.materialdialogs.MaterialDialog)1 NeteaseMusic (com.cyl.musiclake.api.netease.NeteaseMusic)1 Music (com.cyl.musiclake.bean.Music)1