Неразрешенная ссылка: list_item, Котлин, android-студия. Не удалось получить доступ к файлу макета

#android #android-studio #kotlin #custom-arrayadapter

Вопрос:

изображение файла

listItemView = надувать.надувать(R. layout.list_item, родитель,ложь)

Я не могу получить доступ к файлу макета с помощью метода inflate

 class AdapterEarthquake(var cntx: Context,var earthquake: ArrayList<earthquake>):ArrayAdapter<earthquake>( cntx,0, earthquake){

override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {

    var listItemView = convertView
    if(listItemView == null) {
        val inflater:LayoutInflater = LayoutInflater.from(cntx)
        listItemView = inflater.inflate(R.layout.list_item, parent,false)
    }

    val currentItem = getItem(position)

    val magTextView = listItemView.findViewById<TextView>(R.id.magnitude_text_view)

    return super.getView(position, convertView, parent)
}
 

}

magnitude_text_view также показывает ошибку,но это, вероятно, потому, что listItemView показывает ошибку

Имя файла сохраняется как list_item

 val magTextView = listItemView.findViewById<TextView>(R.id.magnitude_text_view)

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/mag"
        style="@style/mag"
        android:id="@ id/magnitude_text_view"/>
    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="London"
        android:layout_weight="60"
        android:layout_gravity="center"
        android:textColor="@color/black"
        android:id="@ id/place_text_view"

        />
    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Feb 26, 1998"
        android:layout_weight="40"
        android:layout_gravity="center"
        android:id="@ id/date_text_view"

        />
 

Ответ №1:

Добавьте это в свой файл класса kotlin, где вы хотите увеличить макет.

импортируйте kotlinx.android.synthetic.main.activity_main.*

И в файле build.gradle (:app) добавьте, как показано ниже, в плагины

 id 'kotlin-android'
id 'kotlin-android-extensions'
 

Примечание : Используйте идентификатор элемента, а не сам файл

 <androidx.appcompat.widget.AppCompatTextView
    android:id="@ id/list_item"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="10dp"
    />