Saya menggunakan Studio 3.3.1 Build dari 28 Jan.
Bagi saya, saya mendapatkan "kesalahan penautan sumber daya android gagal" yang menunjuk ke baris dalam file tata letak menggunakan ConstraintLayout yang telah berfungsi dengan benar hingga hari ini ketika satu-satunya perubahan pada file gradle tingkat aplikasi saya adalah memperbarui versi:
android.arch.navigation:navigation-fragment
android.arch.navigation:navigation-ui
dari 1.0.0-rc01
ke 1.0.0-rc02
.
Pesan kesalahan mengatakan sesuatu tentang tidak mengenali layout_constraintTop_toTopOf
yang tentu saja konyol karena telah disusun dengan cukup bahagia selama berbulan-bulan.
Saya sudah menggunakan 28.0.3 alat pembangunan dan compileSdkVersion
28. Saya telah menggunakan di androidx.appcompat
mana-mana untuk beberapa waktu sekarang (mengubah proyek ini berbulan-bulan kembali ke androidx).
Saya pertama kali menjalani proyek bersih (tidak ada bantuan), dan membuat cache / restart tidak valid (tidak ada bantuan). Tata letak yang dipermasalahkan awalnya ditentukan menggunakan
<TextView>
, <EditText>
dan <ImageView>
komponen (yang berfungsi dengan baik hingga hari ini).
Tetapi setelah membaca jawaban di atas saya pikir mungkin entah bagaimana ada kebingungan yang disebabkan di sini jadi saya mengubah tata letak untuk menggunakan:
<androidx.appcompat.widget
versi dari semua berbagai komponen. Tidak ada perubahan - masih mendapat kesalahan.
Saya kemudian menghapus <androidx.appcompat.widget.AppCompatTextView
blok yang menyebabkan kesalahan kompilasi. Saya mengubah semua referensi ke sana di widget lain untuk merujuk ke "induk" sebagai gantinya. Berhasil. Kali ini kompilasi selesai tanpa kesalahan .
Jadi sesuatu yang aneh dalam definisi widget itu saya pikir .... inilah itu:
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/contact_firstname_label"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/contact_fname_label"
android:gravity="end"
android:textAppearance="@android:style/TextAppearance.Material.Small"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/contact_detail_fname"
app:layout_constraintBaseline_toBaselineOf="@+id/contact_detail_fname"/>
Saya kemudian menempelkan kembali blok yang saya potong Ctrl-V sebelumnya dan mengubah referensi kembali ke ID itu di komponen lain yang mereferensikannya dalam tata letak. Kompilasi gagal .
Saya memotong blok lagi dan menempelkannya ke WordPad. Kemudian membaca dari pasta WordPad, saya benar-benar mengetiknya kembali (kali ini saya tidak menyalin / menempel) - baris demi baris, membuat proyek setelah saya mengetik dalam definisi minimal, dan kemudian lagi setelah itu ketika saya letakkan di setiap baris baru. Setiap kali proyek dikompilasi dengan rapi!
Aku tidak tahu harus berbuat apa. Mungkin beberapa karakter palsu yang tidak terlihat ada di file aslinya?