android 事实刷新,android – notifyDataSetChanged不刷新RecyclerView

我有一个奇怪的问题.我从ListView切换到RecyclerView,我无法刷新或通知我的ListView中的更改.我试着调用Item.this.notifyDataSetChanged();

和其他方法刷新View但它不起作用.

而是滚动时(无论方向如何)刷新RecyclerView.如何更改时如何通知我的RecyclerView?

码:

@Override

public void onBindViewHolder(Ids holder,final int position) {

rowItemClass = (ListViewRow) rowItems.get(position);

Log.e("swag","OYOYOYOYOYO");

if (Globals.isPlaying && Globals.pos == position) {

if (pausedSamePos == true) {

holder.pauseed_play.setVisibility(View.VISIBLE);

holder.playing_pause.setVisibility(View.GONE);

} else {

holder.pauseed_play.setVisibility(View.GONE);

holder.playing_pause.setVisibility(View.VISIBLE);

}

holder.song_currenttime_sb.setActive();

holder.song_duration.setVisibility(View.INVISIBLE);

holder.song_duration_sb.setVisibility(View.VISIBLE);

holder.seekbar.setActive();

} else {

holder.seekbar.setInactive();

holder.song_currenttime_sb.setInactive();

holder.song_icon.setImageResource(rowItemClass.getImageId());

holder.song_duration_sb.setVisibility(View.INVISIBLE);

holder.song_duration.setVisibility(View.VISIBLE);

holder.pauseed_play.setVisibility(View.GONE);

holder.playing_pause.setVisibility(View.GONE);

}

sharedPreference = new SharedPreference();

holder.song_duration.setTypeface(Globals

.getTypefaceSecondary(context));

holder.song_duration_sb.setTypeface(Globals

.getTypefaceSecondary(context));

holder.song_name.setTypeface(Globals.getTypefacePrimary(context));

holder.song_currenttime_sb.setTypeface(Globals

.getTypefaceSecondary(context));

holder.song_name.setText(rowItemClass.getTitle());

holder.song_duration.setText(rowItemClass.getDesc());

holder.song_duration_sb.setText(rowItemClass.getDesc());

holder.favorite.setTag(position);

holder.song_currenttime_sb.setTag(position);

holder.seekbar.setTag(position);

holder.clickRegister.setTag(position);

holder.song_icon.setTag(position);

holder.song_name.setTag(position);

holder.song_duration.setTag(position);

holder.song_duration_sb.setTag(position);

holder.more_options.setTag(position);

// int task_id = (Integer) holder.seekbar.getTag();

final Ids finalHolder = holder;

holder.clickRegister.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

try {

if ((Globals.isPlaying.booleanValue())

&& (Globals.pos == position)) {

pausePlaying();

} else {

Globals.stopPlaying();

pausedSamePos = false;

Globals.pos = position;

Globals.isPlaying = true;

Item.this.notifyDataSetChanged();

Globals.mp = MediaPlayer.create(context,Integer

.valueOf(Item.this.songPos[position])

.intValue());

Globals.mp.start();

Globals.pos = position;

Globals.isPlaying = Boolean.valueOf(true);

Item.this.notifyDataSetChanged();

Globals.mp

.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

@Override

public void onCompletion(

MediaPlayer mpOnComplete) {

mpOnComplete.release();

Globals.isPlaying = false;

pausedSamePos = false;

Globals.isPlaying = Boolean

.valueOf(false);

finalHolder.menu_options

.startAnimation(new ViewExpandAnimation(

finalHolder.menu_options));

Item.this.notifyDataSetChanged();

}

});

}

} catch (Exception localException) {

}

}

});

holder.clickRegister

.setOnLongClickListener(new View.OnLongClickListener() {

@Override

public boolean onLongClick(View v) {

Globals.stopPlaying();

Item.this.notifyDataSetChanged();

return true;

}

});

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值