۱ پوریا شفیعی
علت استاده از شروط در متد notifyItemChange() چیست؟
جامعه جاوا (اندروید) ایجاد شده در ۰۹ اردیبهشت ۱۳۹۹

سلام و احترام 

سوالی که دارم این هست که چرا متد notifyItemChange اینطوری نوشته شد در صورتی که بدون هر دو if هم کار میکنه

متدی که بدون شرط نوشتم:

public void notifyMusicChange(Music music) {
        int index = musicList.indexOf(music);
        notifyItemChanged(playMusicPosition);
        playMusicPosition = index;
        notifyItemChanged(playMusicPosition);
    }

متدی که با شرط در اموزش توسط استاد نوشته شد:

public void notifyMusicChange(Music music){
        int index = musicList.indexOf(music);
        if(index!=-1){
            if(index!=playMusicPosition){
                notifyItemChanged(playMusicPosition);
                playMusicPosition = index;
                notifyItemChanged(playMusicPosition);
            }
        }
    }

 

سلام 

شرط اول که فقط برای محکم کاریه که اگه music تو لیست نبود به error بر نخوریم . 

شرط دوم برای اینکه اگه دوباره همون آهنگ درحال پخش دوباره پخش شد دیگه نیازی به تغییر اون animation پخش نیست. این شرط برای این خوبه که کار اضافه انجام نشه.

رضا رومیانی ۱۱ اردیبهشت ۱۳۹۹، ۱۰:۲۷