增加我的收藏列表,完善了我的收藏功能

pull/1/head
jsyjst 7 years ago
parent 733250899f
commit 5227921e8d

@ -3,6 +3,7 @@ package com.example.musicplayer.adapter;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@ -85,6 +86,7 @@ public class LoveSongAdapter extends RecyclerView.Adapter<RecyclerView.ViewHold
if (viewHolder instanceof ViewHolder) {
ViewHolder holder = (ViewHolder) viewHolder;
final Love love = mLoveList.get(position);
Log.d(TAG, "onBindViewHolder: "+position);
holder.songNameTv.setText(love.getName());
holder.singerTv.setText(love.getSinger());

@ -92,22 +92,20 @@ public class SongAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
holder.songNameTv.setText(mp3Info.getName());
holder.artistTv.setText(mp3Info.getSinger());
if (FileHelper.getSong() != null) {
mLastPosition = FileHelper.getSong().getCurrent();
}
holder.songNameTv.setTextColor(MyApplication.getContext().getResources().
getColor(position == mLastPosition ? R.color.musicStyle_low : R.color.white));
holder.artistTv.setTextColor(MyApplication.getContext().getResources().
getColor(position == mLastPosition ? R.color.musicStyle_low : R.color.short_white));
holder.playingIv.setVisibility(position == mLastPosition ? View.VISIBLE : View.GONE);
if (FileHelper.getSong().isOnline()) {
//根据播放的歌曲是否为当前列表的歌曲显示
if(mp3Info.getSongId().equals(FileHelper.getSong().getOnlineId())){
holder.songNameTv.setTextColor(MyApplication.getContext().
getResources().getColor(R.color.musicStyle_low));
holder.artistTv.setTextColor(MyApplication.getContext().
getResources().getColor(R.color.musicStyle_low));
holder.playingIv.setVisibility(View.VISIBLE);
}else {
holder.songNameTv.setTextColor(MyApplication.getContext().
getResources().getColor(R.color.white));
holder.artistTv.setTextColor(MyApplication.getContext().
getResources().getColor(R.color.white));
holder.playingIv.setVisibility(View.GONE);
holder.songNameTv.setTextColor(MyApplication.getContext().getResources().
getColor(R.color.white));
holder.artistTv.setTextColor(MyApplication.getContext().getResources().
getColor(R.color.short_white));
}
// holder.playingIv.setVisibility(position==FileHelper.getSong().getCurrent()?View.VISIBLE:View.GONE);
holder.songView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

@ -14,5 +14,6 @@ public class BroadcastName {
public static final String ONLINE_SONG_ERROR="online_song_error";
public static final String ONLINE_ALBUM_SONG_Change="online_album_song_change";
public static final String LOVE_SONG_CHANGE="love_song_change";
public static final String LOVE_SONG_CANCEL="love_song_cancel";
}

@ -22,6 +22,7 @@ public interface IPlayContract {
void showLove(boolean love); //判断是否显示我喜欢的图标
void showLoveAnim(); //喜欢的动画
void saveToLoveSuccess();//保存到我喜欢数据库成功
void sendUpdateCollection(); //发送广播更新收藏列表
}
interface Presenter{
void getSingerImg(String singer);
@ -32,5 +33,6 @@ public interface IPlayContract {
void deleteFromLove(String songId); //从我喜欢的表中移除
void saveToLoveSuccess();//保存到我喜欢数据库成功
void showLove(boolean love); //判断是否显示我喜欢的图标
void deleteSuccess();//从我的收藏中移除
}
}

@ -12,6 +12,7 @@ import com.example.musicplayer.https.NetWork;
import org.litepal.LitePal;
import org.litepal.crud.callback.FindMultiCallback;
import org.litepal.crud.callback.SaveCallback;
import org.litepal.crud.callback.UpdateOrDeleteCallback;
import java.io.IOException;
import java.util.List;
@ -27,12 +28,12 @@ import io.reactivex.schedulers.Schedulers;
* Created by on 2018/10/26.
*/
public class IPlayModel implements IPlayContract.Model {
private String TAG="IPlayModel";
public class PlayModel implements IPlayContract.Model {
private String TAG="PlayModel";
private IPlayContract.Presenter mPresenter;
public IPlayModel(IPlayContract.Presenter presenter){
public PlayModel(IPlayContract.Presenter presenter){
mPresenter=presenter;
}
@ -119,7 +120,13 @@ public class IPlayModel implements IPlayContract.Model {
new Thread(new Runnable() {
@Override
public void run() {
LitePal.deleteAll("songId=?",songId);
LitePal.deleteAllAsync(Love.class,"songId=?",songId)
.listen(new UpdateOrDeleteCallback() {
@Override
public void onFinish(int rowsAffected) {
mPresenter.deleteSuccess();
}
});
}
}).start();
}

@ -3,17 +3,17 @@ package com.example.musicplayer.presenter;
import com.example.musicplayer.base.BasePresenter;
import com.example.musicplayer.contract.IPlayContract;
import com.example.musicplayer.entiy.Song;
import com.example.musicplayer.model.IPlayModel;
import com.example.musicplayer.model.PlayModel;
/**
* Created by on 2018/10/26.
*/
public class PlayPresenter extends BasePresenter<IPlayContract.View> implements IPlayContract.Presenter {
private IPlayModel mModel;
private PlayModel mModel;
public PlayPresenter(){
mModel=new IPlayModel(this);
mModel=new PlayModel(this);
}
@ -64,4 +64,11 @@ public class PlayPresenter extends BasePresenter<IPlayContract.View> implements
getMvpView().showLove(love);
}
}
@Override
public void deleteSuccess() {
if(isAttachView()){
getMvpView().sendUpdateCollection();
}
}
}

@ -40,8 +40,14 @@ public class PlayerService extends Service {
@Override
public void onCreate() {
mLocalSongList = LitePal.findAll(LocalSong.class);
mListType = Constant.LIST_TYPE_LOCAL;
mListType = FileHelper.getSong().getListType();
if(mListType ==Constant.LIST_TYPE_ONLINE){
mSongList = LitePal.findAll(OnlineSong.class);
}else if(mListType ==Constant.LIST_TYPE_LOCAL){
mLocalSongList = LitePal.findAll(LocalSong.class);
}else if (mListType == Constant.LIST_TYPE_LOVE){
mLoveList = LitePal.findAll(Love.class);
}
}
@Override
@ -55,29 +61,32 @@ public class PlayerService extends Service {
mCurrent++;
//将歌曲的信息保存起来
if (mListType == Constant.LIST_TYPE_LOCAL) {
saveLocalSongInfo(mCurrent);
if (mCurrent <= mLocalSongList.size()) {
if (mCurrent < mLocalSongList.size()) {
saveLocalSongInfo(mCurrent);
mPlayStatusBinder.play(Constant.LIST_TYPE_LOCAL);
sendBroadcast(new Intent(BroadcastName.LOCAL_SONG_CHANGE_LIST));//发送广播改变当地列表的显示
} else {
mPlayStatusBinder.stop();
sendBroadcast(new Intent(BroadcastName.SONG_PAUSE)); //发送暂停的广播
}
} else if(mListType == Constant.LIST_TYPE_ONLINE){
saveOnlineSongInfo(mCurrent);
if (mCurrent <= mSongList.size()) {
} else if (mListType == Constant.LIST_TYPE_ONLINE) {
if (mCurrent < mSongList.size()) {
saveOnlineSongInfo(mCurrent);
mPlayStatusBinder.play(Constant.LIST_TYPE_ONLINE);
sendBroadcast(new Intent(BroadcastName.ONLINE_ALBUM_SONG_Change));//专辑列表的改变
} else {
mPlayStatusBinder.stop();
sendBroadcast(new Intent(BroadcastName.SONG_PAUSE)); //发送暂停的广播
}
} else {
saveLoveInfo(mCurrent,FileHelper.getSong().isOnline());
if (mCurrent <= mLoveList.size()) {
if (mCurrent < mLoveList.size()) {
saveLoveInfo(mCurrent);
mPlayStatusBinder.play(Constant.LIST_TYPE_LOVE);
sendBroadcast(new Intent(BroadcastName.LOVE_SONG_CHANGE));//专辑列表的改变
} else {
mPlayStatusBinder.stop();
sendBroadcast(new Intent(BroadcastName.SONG_PAUSE)); //发送暂停的广播
}
}
sendBroadcast(new Intent(BroadcastName.ONLINE_SONG_FINISH));//发送网络歌曲播放结束的广播改变网络搜索列表的改变
@ -115,19 +124,24 @@ public class PlayerService extends Service {
mSongList = LitePal.findAll(OnlineSong.class);
} else if (mListType == Constant.LIST_TYPE_LOCAL) {
mLocalSongList = LitePal.findAll(LocalSong.class);
}else if(mListType == Constant.LIST_TYPE_LOVE){
} else if (mListType == Constant.LIST_TYPE_LOVE) {
mLoveList = orderList(LitePal.findAll(Love.class));
}
mCurrent = FileHelper.getSong().getCurrent();
mediaPlayer.reset();//把各项参数恢复到初始状态
if (mListType == Constant.LIST_TYPE_LOCAL) {
mediaPlayer.setDataSource(mLocalSongList.get(mCurrent).getUrl());
} else if(mListType == Constant.LIST_TYPE_ONLINE){
mediaPlayer.prepare(); //进行缓冲
} else if (mListType == Constant.LIST_TYPE_ONLINE) {
mediaPlayer.setDataSource(mSongList.get(mCurrent).getUrl());
} else{
mediaPlayer.prepare(); //进行缓冲
} else {
mediaPlayer.setDataSource(mLoveList.get(mCurrent).getUrl());
mediaPlayer.prepare(); //进行缓冲
Song song = FileHelper.getSong();
song.setDuration(mediaPlayer.getDuration());
FileHelper.saveSong(song);
}
mediaPlayer.prepare(); //进行缓冲
isPlaying = true;
mediaPlayer.start();
sendBroadcast(new Intent(BroadcastName.ONLINE_ALBUM_SONG_Change));
@ -189,18 +203,19 @@ public class PlayerService extends Service {
saveLocalSongInfo(mCurrent);
mPlayStatusBinder.play(Constant.LIST_TYPE_LOCAL);
sendBroadcast(new Intent(BroadcastName.LOCAL_SONG_CHANGE_LIST));//发送广播改变当地列表的显示
} else if(mListType == Constant.LIST_TYPE_ONLINE){
} else if (mListType == Constant.LIST_TYPE_ONLINE) {
if (mCurrent >= mSongList.size()) {
mCurrent = 0;
}
saveOnlineSongInfo(mCurrent);
mPlayStatusBinder.play(Constant.LIST_TYPE_ONLINE);
sendBroadcast(new Intent(BroadcastName.ONLINE_ALBUM_SONG_Change));//专辑列表的改变
} else{
} else {
if (mCurrent >= mLoveList.size()) {
mCurrent = 0;
}
saveLoveInfo(mCurrent,FileHelper.getSong().isOnline());
Log.d(TAG, "next: " + mCurrent);
saveLoveInfo(mCurrent);
mPlayStatusBinder.play(Constant.LIST_TYPE_LOVE);
sendBroadcast(new Intent(BroadcastName.LOVE_SONG_CHANGE));
}
@ -211,24 +226,24 @@ public class PlayerService extends Service {
mCurrent = FileHelper.getSong().getCurrent();
mCurrent--;
if (mCurrent == -1) {
if(mListType == Constant.LIST_TYPE_LOCAL){
mCurrent = mLocalSongList.size()-1;
}else if(mListType ==Constant.LIST_TYPE_ONLINE){
mCurrent =mSongList.size()-1;
}else {
mCurrent = mLoveList.size()-1;
if (mListType == Constant.LIST_TYPE_LOCAL) {
mCurrent = mLocalSongList.size() - 1;
} else if (mListType == Constant.LIST_TYPE_ONLINE) {
mCurrent = mSongList.size() - 1;
} else {
mCurrent = mLoveList.size() - 1;
}
}
if (mListType == Constant.LIST_TYPE_LOCAL) {
saveLocalSongInfo(mCurrent);
mPlayStatusBinder.play(mListType);
sendBroadcast(new Intent(BroadcastName.LOCAL_SONG_CHANGE_LIST));//发送广播改变当地列表的显示
} else if(mListType == Constant.LIST_TYPE_ONLINE){
} else if (mListType == Constant.LIST_TYPE_ONLINE) {
saveOnlineSongInfo(mCurrent);
mPlayStatusBinder.play(mListType);
sendBroadcast(new Intent(BroadcastName.ONLINE_ALBUM_SONG_Change));//专辑列表的改变
} else{
saveLoveInfo(mCurrent,FileHelper.getSong().isOnline());
} else {
saveLoveInfo(mCurrent);
mPlayStatusBinder.play(mListType);
sendBroadcast(new Intent(BroadcastName.LOVE_SONG_CHANGE));
}
@ -241,6 +256,7 @@ public class PlayerService extends Service {
public void stop() {
if (mediaPlayer != null) {
isPlaying = false;
mediaPlayer.stop();
try {
mediaPlayer.prepare(); // 在调用stop后如果需要再次通过start进行播放,需要之前调用prepare函数
@ -303,6 +319,7 @@ public class PlayerService extends Service {
}
}
//保存本地音乐列表的信息
private void saveLocalSongInfo(int current) {
//将歌曲的信息保存起来
mLocalSongList = LitePal.findAll(LocalSong.class);
@ -313,11 +330,13 @@ public class PlayerService extends Service {
song.setSinger(localSong.getSinger());
song.setDuration(localSong.getDuration());
song.setUrl(localSong.getUrl());
song.setImgUrl(localSong.getPic());
song.setOnlineId(localSong.getSongId());
song.setOnline(false);
song.setListType(Constant.LIST_TYPE_LOCAL);
FileHelper.saveSong(song);
}
//保存网络专辑列表的信息
private void saveOnlineSongInfo(int current) {
mSongList = LitePal.findAll(OnlineSong.class);
Song song = new Song();
@ -332,7 +351,9 @@ public class PlayerService extends Service {
song.setListType(Constant.LIST_TYPE_ONLINE);
FileHelper.saveSong(song);
}
private void saveLoveInfo(int current,boolean isOnline){
//保存我的收藏的列表的信息
private void saveLoveInfo(int current) {
mLoveList = orderList(LitePal.findAll(Love.class));
Love love = mLoveList.get(current);
Song song = new Song();
@ -343,16 +364,19 @@ public class PlayerService extends Service {
song.setUrl(love.getUrl());
song.setImgUrl(love.getPic());
song.setListType(Constant.LIST_TYPE_LOVE);
song.setOnline(isOnline);
song.setOnline(love.isOnline());
FileHelper.saveSong(song);
}
private List<Love> orderList(List<Love> tempList){
List<Love> loveList=new ArrayList<>();
//对数据库进行倒叙排序
private List<Love> orderList(List<Love> tempList) {
List<Love> loveList = new ArrayList<>();
loveList.clear();
for(int i=tempList.size()-1;i>=0;i--){
for (int i = tempList.size() - 1; i >= 0; i--) {
loveList.add(tempList.get(i));
}
return loveList;
}
//将歌曲保存到最近播放的列表
}

@ -127,6 +127,13 @@ public class AlbumSongFragment extends Fragment implements IAlbumSongContract.Vi
mPresenter.getAlbumDetail(mId,mType);
}
@Override
public void onDestroy(){
super.onDestroy();
getActivity().unbindService(connection);
getActivity().unregisterReceiver(albumSongChangeReceiver);
}
private void getBundle(){
Bundle bundle = getArguments();
if (bundle != null) {

@ -1,6 +1,7 @@
package com.example.musicplayer.view;
import android.app.Notification;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
@ -12,6 +13,7 @@ import android.os.IBinder;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@ -40,6 +42,8 @@ import java.util.List;
*/
public class CollectionFragment extends Fragment {
private static final String TAG="CollectionFragment";
private RecyclerView mRecycler;
private ImageView mBackIv;
private LinearLayoutManager mManager;
@ -47,8 +51,6 @@ public class CollectionFragment extends Fragment {
private LinearLayout mSongListLinear;
private RelativeLayout mEmptyRelative;
private List<Love> mLoveList;
private List<Love> mTempList;
//注册广播
private IntentFilter intentFilter;
private SongChangeReceiver songChangeReceiver;
@ -74,51 +76,45 @@ public class CollectionFragment extends Fragment {
mBackIv = mView.findViewById(R.id.iv_back);
mEmptyRelative = mView.findViewById(R.id.relative_empty);
mSongListLinear = mView.findViewById(R.id.linear_song_list);
mTempList =new ArrayList<>();
mLoveList = new ArrayList<>();
return mView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState){
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
//启动服务
Intent playIntent = new Intent(getActivity(), PlayerService.class);
getActivity().bindService(playIntent, connection, Context.BIND_AUTO_CREATE);
//注册广播
intentFilter=new IntentFilter();
intentFilter = new IntentFilter();
intentFilter.addAction(BroadcastName.LOVE_SONG_CHANGE);
songChangeReceiver=new SongChangeReceiver();
getActivity().registerReceiver(songChangeReceiver,intentFilter);
intentFilter.addAction(BroadcastName.LOVE_SONG_CANCEL);
songChangeReceiver = new SongChangeReceiver();
getActivity().registerReceiver(songChangeReceiver, intentFilter);
showSongList();
onClick();
}
@Override
public void onDestroy(){
super.onDestroy();
getActivity().unbindService(connection);
getActivity().unregisterReceiver(songChangeReceiver);
}
private void showSongList(){
mLoveList.clear();
mTempList = LitePal.findAll(Love.class);
if(mTempList.size()==0){
mEmptyRelative.setVisibility(View.VISIBLE);
mSongListLinear.setVisibility(View.GONE);
}else{
mEmptyRelative.setVisibility(View.GONE);
mSongListLinear.setVisibility(View.VISIBLE);
}
//对数据库的数据倒序显示
for(int i=mTempList.size()-1;i>=0;i--){
mLoveList.add(mTempList.get(i));
}
mAdapter = new LoveSongAdapter(getActivity(),mLoveList);
private void showSongList() {
mLoveList = orderList(LitePal.findAll(Love.class));
mAdapter = new LoveSongAdapter(getActivity(), mLoveList);
mManager = new LinearLayoutManager(getActivity());
mRecycler.setLayoutManager(mManager);
mRecycler.setAdapter(mAdapter);
}
private void onClick(){
private void onClick() {
mAdapter.setOnItemClickListener(new LoveSongAdapter.OnItemClickListener() {
@Override
public void onSongClick(int position) {
Love love = mLoveList.get(position);
Song song =new Song();
Song song = new Song();
song.setOnlineId(love.getSongId());
song.setSongName(love.getName());
song.setSinger(love.getSinger());
@ -133,12 +129,26 @@ public class CollectionFragment extends Fragment {
}
});
}
private class SongChangeReceiver extends BroadcastReceiver{
private List<Love> orderList(List<Love> tempList){
List<Love> loveList=new ArrayList<>();
loveList.clear();
for(int i=tempList.size()-1;i>=0;i--){
loveList.add(tempList.get(i));
}
return loveList;
}
private class SongChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
mAdapter.notifyDataSetChanged();
if(FileHelper.getSong()!=null) {
mManager.scrollToPositionWithOffset(FileHelper.getSong().getCurrent()+4, mRecycler.getHeight());
String action = intent.getAction();
if (action.equals(BroadcastName.LOVE_SONG_CHANGE)) {
mAdapter.notifyDataSetChanged();
if (FileHelper.getSong() != null) {
mManager.scrollToPositionWithOffset(FileHelper.getSong().getCurrent() + 4, mRecycler.getHeight());
}
}else if(action.equals(BroadcastName.LOVE_SONG_CANCEL)){
showSongList();
}
}
}

@ -89,6 +89,12 @@ public class LocalMusicFragment extends Fragment implements ILocalMusicContract.
initView();
setOnClickListener();
}
@Override
public void onDestroy(){
super.onDestroy();
getActivity().unbindService(connection);
getActivity().unregisterReceiver(songChangeReceiver);
}
private void initView() {
LitePal.getDatabase(); //创建数据库

@ -99,7 +99,7 @@ public class MainActivity extends AppCompatActivity {
private void initView() {
mSong = FileHelper.getSong();
Log.d(TAG, "jsyjst: "+mSong.toString());
Log.d(TAG, "jsyjst: " + mSong.toString());
mSongNameTv = findViewById(R.id.tv_song_name);
mSingerTv = findViewById(R.id.tv_singer);
mLinear = findViewById(R.id.linear_player);
@ -161,13 +161,12 @@ public class MainActivity extends AppCompatActivity {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
if (mPlayStatusBinder.isPlaying()) {
mMediaPlayer.seekTo(seekBar.getProgress());
mPlayStatusBinder.getMediaPlayer().seekTo(seekBar.getProgress());
} else {
time = seekBar.getProgress();
}
isChange = false;
mSeekBarThread = new Thread(new SeekBarThread());
mSeekBarThread.start();
seekBarStart();
}
});
@ -197,14 +196,13 @@ public class MainActivity extends AppCompatActivity {
} else {
if (FileHelper.getSong().isOnline()) {
mPlayStatusBinder.playOnline();
} else{
} else {
mPlayStatusBinder.play(FileHelper.getSong().getListType());
}
mMediaPlayer.seekTo((int) mSong.getCurrentTime());
mCircleAnimator.start();
mPlayerBtn.setSelected(true);
mSeekBarThread = new Thread(new SeekBarThread());
mSeekBarThread.start();
seekBarStart();
}
}
});
@ -268,15 +266,22 @@ public class MainActivity extends AppCompatActivity {
}
private void seekBarStart() {
mSeekBarThread = new Thread(new SeekBarThread());
mSeekBarThread.start();
}
class SeekBarThread implements Runnable {
@Override
public void run() {
while (!isChange && mPlayStatusBinder.isPlaying()) {
mSeekBar.setProgress((int) mPlayStatusBinder.getCurrentTime());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
if (mPlayStatusBinder!=null) {
while (!isChange && mPlayStatusBinder.isPlaying()) {
mSeekBar.setProgress((int) mPlayStatusBinder.getCurrentTime());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
@ -307,14 +312,12 @@ public class MainActivity extends AppCompatActivity {
} else if (action.equals(BroadcastName.SONG_RESUME)) {
mPlayerBtn.setSelected(true);
mCircleAnimator.resume();
mSeekBarThread = new Thread(new SeekBarThread());
mSeekBarThread.start();
seekBarStart();
} else {
} else {
mPlayerBtn.setSelected(true);
mCircleAnimator.start();
mSeekBarThread = new Thread(new SeekBarThread());
mSeekBarThread.start();
seekBarStart();
}
}
}

@ -404,7 +404,7 @@ public class PlayActivity extends BaseActivity implements IPlayContract.View {
LocalSong localSong =new LocalSong();
mLocalSong = LitePal.findAll(LocalSong.class);
localSong.setPic(BaseUri.STORAGE_IMG_FILE + FileHelper.getSong().getSinger() + ".jpg");
localSong.updateAll("singer",FileHelper.getSong().getSinger());
localSong.save();
}
try2UpdateMusicPicBackground(mImgBmp);
@ -454,6 +454,11 @@ public class PlayActivity extends BaseActivity implements IPlayContract.View {
CommonUtil.showToast(PlayActivity.this,"添加成功");
}
@Override
public void sendUpdateCollection() {
sendBroadcast(new Intent(BroadcastName.LOVE_SONG_CANCEL));
}
//设置唱碟中歌手头像
private void setDiscImg(Bitmap bitmap) {

@ -120,6 +120,12 @@ public class SearchContentFragment extends Fragment implements ISearchContentCon
}
@Override
public void onDestroy(){
super.onDestroy();
getActivity().unbindService(connection);
getActivity().unregisterReceiver(songChangeReceiver);
}
@Override

@ -44,6 +44,7 @@ public class SearchHistoryFragment extends Fragment {
onClick();
}
private void showHistory(){
mHistoryList = new ArrayList<>();
mTempList = new ArrayList<>();

@ -1,7 +1,6 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background"
android:orientation="vertical">
<View
@ -71,16 +70,22 @@
android:layout_height="120dp"
android:src="@drawable/empty_song"
android:scaleType="centerCrop"
android:layout_centerInParent="true"/>
android:layout_marginTop="120dp"
android:layout_centerHorizontal="true"/>
<TextView
android:layout_marginTop="20dp"
android:layout_below="@+id/iv_empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"
android:textColor="@color/white_blue"
android:text="收藏列表为空,赶紧去收藏自己喜欢的歌吧"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:layout_below="@+id/iv_empty"
/>
<View
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="65dp"/>
</RelativeLayout>
</LinearLayout>
Loading…
Cancel
Save