שלבים ליצירת RecycleView
- יצירת קובץ Resource שמייצג שורה ברשימה, בשם item_photo.
- יצירת מחלקה PhotoViewHolder שיורשת מRecycleView.ViewHolder. מחלקה זו משמשת לבניית שורה ברשימה ולהתנהגות שלה.
- בנאי- מקבל View (שהוא מופע של הResource שיצרנו בסעיף 1) ומאתחל את הViews שמוגדרים במחלקה (ImageView).
- פונקצייה שמקבלת אובייקט מהרשימה שאנחנו מעוניינים להציג (תמונה) ועל פיו מאתחלת את התצוגה של הViews (נותנת את התמונה כפרמטר לImageView).
- יצירת מחלקת Adapter בשם PhotosAdapter שיורשת מ
<RecycleView.Adapter<PhotoViewHolder
מחלקה זאת מנהלת את הרשימה של האובייקטים שאנחנו רוצים להציג, ומנהלת את הבנייה של השורות.
- בנאי- מקבל את הרשימה (List) של האובייקטים שאנחנו רוצים להציג ברשימה (RecycleView).
- פונקצייה- onCreateViewHolder שמקבלת ViewGroup, ממנו, בעזרת Inflater שיקבל את הקובץ שיצרנו בסעיף 1, נוכל ליצור View של שורה, שאותו נשים בבנאי בסעיף 2.1, והנה יש לנו אובייקט PhotoViewHolder שאנחנו יכולים להחזיר (הוא הreturn של הפונקצייה).
- פונקצייה- onBindViewHolder שתקבל את הViewHolder מהפוקנצייה הקודמת, וגם מיקום של אובייקט, כך שנוכל לפנות לאובייקט במיקום הזה ברשימה, ולהכניס אותו לאובייקט בעזרת הפונקצייה של סעיף 2.2.
- פונקצייה- getItemCount שמחזירה את כמות האובייקטים (גודל הרשימה). בנוסף, אם נדרש נוסיף פונקציות לטיפול ברשימה, ובסופם נצטרך להשתמש בNotify.
- הכרזה על הRecycleView שלנו (או יצירת הפנייה אליו במידה והוא כבר קיים בResource של הActivity).
- הגדרת setHasFixedSize רק אם אנחנו לא מתכננים שהגודל שלו ישתנה.
- יצירת אובייקט LayoutManager בהתאם לצורה שבה אנחנו רוצים שהנתונים יוצגו (LinearLayoutManager- HorisontalVartical, GridLayoutManager etc') והוספה שלו ע"י myRecycleView.setLayoutManager
- יצירת אובייקט של PhotoAdapter ולתת לו את הנתונים. הוספת האובייקט בעזרת myRecycleView.setAdapter
אם אני אדע איך שמים פה קוד, אני אשים דוגמאות קוד.