تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ محمدرضا مجیدی
در متد student در کلاس java
پوریا شفیعی حل شده توسط پوریا شفیعی

سلام دوستان

سوال اول :

 استاد چرا اول کلاس Student را نوشت بعد نوشت student مگر مثل دفعه قبلی که راجب آداپتر میگفتند در RecyclerView اول نوشتند  String

سوال دوم : 

چرا استاد ایجوری نوشت :

(String.valueOf(student.getScore()))

مگر اینجوری نمشد بنویسیم

(student.getScore())

 نیست int  مگر  String بعد چرا 

    : سوال سوم

دوستان این خط چه کار میکنه؟؟؟

 android:clipToPadding="false"

سلام و احترام

 

دقت کنید ما در اینجا با Model سر و کار داریم 

و دیتای دریافتی ما از سمت سرور شامل فیلد هایی به عنوان مثال firstname و last_name و course و.. هست .


public class Student {
    private int id;
    private String firstName;
    private String lastName;
    private String course;
    private int score;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    public String getLastName() {
        return lastName;
    }
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
    public String getCourse() {
        return course;
    }
    public void setCourse(String course) {
        this.course = course;
    }
    public int getScore() {
        return score;
    }
    public void setScore(int score) {
        this.score = score;
    }
}


در Data Model‌ها از کپسوله سازی استفاده می‌شود. در کپسوله سازی سعی می‌شود متغیرها را از دید دیگر کلاس‌ها مخفی کنیم و با استفاده از متدهای واسط که به اصطلاح به آن‌ها Setter و Getter می‌گویند، متغیرها را مقدار دهی و یا از آن‌ها مقدار گیری کنیم. 

کاربرد setter : هنگامی که دیتا از سمت سرور اومد دیتا رو به وسیله setter‌ها مقدار دهی میکنیم.

کاربر getter :در متد bind کلاس adapter برای ست کردن دیتا بر روی view‌ها استفاده میکنیم .

به همین دلیل هست که به عنوان پارامتر متد bind این Student student رو میدیم تا دیتا رو با استفاده از getter() اون ست کنیم بر روی view ها.

 

سوال دوم : هنگامی که دیتای Score از سرور دریافت میشه یه مقدار Integer هست (به json دقت کنین) 

همونطور که قبلا آموختید نمیتوانید جز مقداری با دیتاتایپ String به setter یک view بدهید یعنی (setText(۵) غلط است چرا که باعث کرش اپلیکیشن خواهد شد(امتحان کنید).

پس به عمین دلیل با String.valueOf اومدیم و مقدار integer رو به String تبدیل کردیم تا باعث کرش اپ نشود.

 

سوال سوم:

باعث میشه padding در انتهای ریسایکلر در نظر گرفته نشه برای اینکه این موضوع رو متوجه شید گیف زیر رو ببینید.

گیف

اونی که ضربدر دارد clipToPadding برابر با true هست.

بهترین پاسخ
پوریا شفیعی ۲۵ دی ۱۳۹۹، ۱۴:۲۸

سلام آقا پوریا من عکس را اینجا گذاشتم مرسی

 

محمدرضا مجیدی ۲۶ دی ۱۳۹۹، ۱۵:۲۳