#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"
/>