慕仰7218486
看一下是图片路径的问题了吗?还是说图片的限制
慕侠1316803
qq_慕圣8194985
https://github.com/lgd8981289/IMoocMusic
慕后端3161042
大白前端
import androidx.recyclerview.widget.DividerItemDecoration; 看下有没有这个引入
大迷糊and小迷糊
调用构造方法时
GridSpaceItemDecoration
会执行getRecyclerViewOffsets方法。
大迷糊and小迷糊

我的版本比你还高,直接写也报错,用个注释就好了
weixin_慕少4357744
package com.example.imoocmusic;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
public class ListAdapter extends RecyclerView.Adapter <RecyclerView.ViewHolder>{
private Context mContext;
public ListAdapter(Context context){
mContext=context;
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new ViewHolder(LayoutInflater.from(mContext).inflate(R.layout.item_music_list,parent,false));
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return 8;
}
class ViewHolder extends RecyclerView.ViewHolder{
public ViewHolder(@NonNull View itemView) {
super(itemView);
}
}
}
慕妹7118130
rvList = fd(R.id.rv_list);
LinearLayoutManager manager = new LinearLayoutManager(this){
@Override
public boolean canScrollVertically() {
return false;
}
};
rvList.setLayoutManager(manager);
listAdapter = new MusicListAdapter(this);
rvList.setAdapter(listAdapter);这样就可以了
qq_慕函数6541663
你再确定一下代码和老师是否一样,我之前少写了个m导致mediaplay疯狂报错
qq_慕盖茨121454
由于我们的onCreateViewHolder方法是IDE自行生成的,里面的ViewGroup类型的参数为parent, 所以这里viewGroup改成parent就好了。
qq_慕盖茨121454
感觉像是网络问题
qq_慕神4460269
我也遇到了和你一样的问题。一开始敲的时候没有任何提示(自动补全),我是在github上复制人家的使用例子粘贴上去的。然后按照课程改成和老师一模一样的。我运行一遍app以后把这段代码注释,再次敲,就有自动补全 能在XML中使用了。可能是android studio没及时加载过来,你运行一遍APP或者重启一下Android Studio就可以了
qq_慕神4460269
你是用谷歌搜出来的图片吗?我用谷歌搜出来的无法加载,但是百度的就可以
慕村8397435
培根牛肉国王堡
解决了吗 xdm
慕仙0318994
没有找到实体类的感觉
扶二平叔
老哥是你代码写错了啊,应该是
if (mediaPlayHelp.getPath() != null
&& mediaPlayHelp.getPath().equals(path)) {
mediaPlayHelp.start();
}而不是
if (mMediaPlayerHelper != null &&
mMediaPlayerHelper.getPath().equals( path )){
mMediaPlayerHelper.start();
}e
weixin_慕工程548367
遇到了同样的问题。。。。
qq_慕工程4007473
可能是网络权限申请的问题,这个上一节视频下面的问答都回答的很全面,你可以去看看;
还有可能就是你用的是android studio自带的模拟器,自带的好像连不了网(我的就是这样,不知道为什么),可以换一个自己下载的模拟器试试。
醒着做梦7366500
重新导入依赖
小姐不可以_
JAVA中boolean对象有默认值为false
慕神7506910
可以参考本系列(一)课程
慕神7506910
哪一部分看不懂啊,如果最基本的语法不知道的话,建议还是先学一下Java入个门
圣帝雪莲
在MainGridRvAdapter类中的onBindViewHolder方法中添加
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(mContext, AlbumListActivity.class);
mContext.startActivity(intent);
}
});上面的代码就是为RecyclerView中的每个ItemView添加了点击事件。点击跳转到专辑页面。
慕数据5239811
手动导入吧
慕哥3431177
weixin_慕神0084292
你是完全按照老师代码么?
新版本的recyclerview引用名是
androidx.recyclerview.widget.RecyclerView
你检查下你的activity_main.xml
weixin_慕神0084292
你对比下我的
import android.graphics.Rect;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.LinearLayout;
public class GridSpaceltemDecoration extends RecyclerView.ItemDecoration {
private int mSpace;
public GridSpaceltemDecoration(int space,RecyclerView parent)
{
mSpace=space;
getRecyclerViewOffsets(parent);
}
/**
*
* @param outRect Item的矩形边界
* @param view ItemView
* @param parent RecyclerView
* @param state RecyclerView的状态
*/
@Override
public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {
super.getItemOffsets(outRect, view, parent, state);
outRect.left=mSpace;
}
private void getRecyclerViewOffsets(RecyclerView parent)
{
// View margin,
// margin 为正,则View 会距离边界产生一个距离
// margin 为负,则View 会超出边界产生一个距离
LinearLayout.LayoutParams layoutParams=(LinearLayout.LayoutParams)parent.getLayoutParams();
layoutParams.leftMargin=-mSpace;
parent.setLayoutParams(layoutParams);
}
}
慕码人8201332
你说的是MediaPlayerHelp类的setOnMeidaPlayerHelperListener方法吗?这个方法是为MediaPlayerHelp对象设置一个监听器,用于监听当前播放器的播放状态。