מעבר מנכסים סינתטיים של Kotlin לקישור תצוגה של Jetpack

תוספי Kotlin ל-Android הוצאו משימוש, כלומר השימוש ב-Kotlin אין יותר תמיכה בחומרים סינתטיים לקישורי תצוגות. אם באפליקציה נעשה שימוש ב-Kotlin סינתטיים לקישורי תצוגה, השתמשו במדריך הזה כדי לעבור לקישור תצוגה של Jetpack.

אם האפליקציה לא משתמשת כבר בסינתטים של Kotlin לצורך קישור תצוגות מפורטות, צריך לעיין בהצגה מקושר לפרטי שימוש בסיסיים.

עדכון קובץ Gradle

בדומה לתוספים ל-Android, קישור התצוגה של Jetpack מופעל במודול אחר מודול במצב בסיסי. מגדירים את ה-build של viewBinding לכל מודול שמשתמש בקישור תצוגה האפשרות true בקובץ build.gradle ברמת המודול:

מגניב

android {
    ...
    buildFeatures {
        viewBinding true
    }
}

Kotlin

android {
    ...
    buildFeatures {
        viewBinding = true
    }
}

אם באפליקציה לא נעשה שימוש ב-Parcelable תכונות, מסירים את השורה שמפעילה את תוספי Kotlin ל-Android:

מגניב

plugins {
  id 'kotlin-android-extensions'
}

Kotlin

plugins {
    kotlin("android.extensions")
}

למידע נוסף על הפעלת קישור תצוגות במודול, ראו הגדרה הוראות להתאמה אישית.

עדכון של הפעילות ומחלקות המקטעים

באמצעות קישור תצוגת Jetpack, נוצרת מחלקה מחייבת לכל קובץ פריסת XML שהמודול מכיל. השם של מחלקת הקישור הזו הוא השם של ה-XML. שלך באותיות פסקל, שהמילה Binding נוספת בסוף. לדוגמה, אם שם קובץ הפריסה הוא result_profile.xml, שם הקובץ שנוצר סיווג הקישור הוא ResultProfileBinding.

להשתמש בסוגי הקישור שנוצרו במקום במאפיינים סינתטיים, לתצוגות עזר, לשנות את הפעילות ואת סיווגי המקטעים באמצעות ביצוע הבאים:

  1. צריך להסיר את כל הייבוא מ-kotlinx.android.synthetic.

  2. ניפוח מופע של סוג הקישור שנוצר עבור הפעילות או מקטע לשימוש.

  3. שנו את כל ההפניות של התצוגות כך שישתמשו במופע של מחלקת הקישור במקום במופע של נכסים סינתטיים:

// Reference to "name" TextView using synthetic properties.
name.text = viewModel.nameString

// Reference to "name" TextView using the binding class instance.
binding.name.text = viewModel.nameString

מידע נוסף זמין בקטע שימוש ב- את המדריך לקישור תצוגה.