Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 自定义适配器中未解析的引用_Android_Kotlin - Fatal编程技术网

Android 自定义适配器中未解析的引用

Android 自定义适配器中未解析的引用,android,kotlin,Android,Kotlin,我有一个实现ArrayAdapter的类。 问题是,我需要引用一个ImageView和TextView,其id是imageViewIcon和textViewName,但是当我使用findViewById时,我会得到一个未解决的引用错误 这是一个类,它实现了适配器,我从中得到了错误 class DrawerItemCustomAdapter(context: Context, var resource: Int, objects: Array<DataModel>): ArrayAda

我有一个实现ArrayAdapter的类。 问题是,我需要引用一个ImageView和TextView,其id是imageViewIcon和textViewName,但是当我使用findViewById时,我会得到一个未解决的引用错误

这是一个类,它实现了适配器,我从中得到了错误

class DrawerItemCustomAdapter(context: Context, var resource: Int, objects: Array<DataModel>): ArrayAdapter<DataModel>(
    context,
    resource,
    objects
) {
    var mContext: Context? = context
    var layoutResourceId = resource
    var data: Array<DataModel>? = objects
    public override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {

      //  return super.getView(position, convertView, parent)
        var listItem = convertView!!

        val inflater = (mContext as Activity).layoutInflater
        listItem = inflater.inflate(layoutResourceId, parent, false)

        val imageViewIcon = listItem.findViewById(R.id.imageViewIcon) as ImageView
        val textViewName = listItem.findViewById<View>(R.id.textViewName) as TextView

        val (icon, name) = data!![position]


        imageViewIcon.setImageResource(icon)
        textViewName.text = name

        return listItem

    }
}
class-DrawerItemCustomAdapter(上下文:context,var-resource:Int,objects:Array):ArrayAdapter(
上下文
资源,,
物体
) {
var mContext:上下文?=上下文
var layoutResourceId=资源
变量数据:数组?=对象
公共视图(位置:Int,convertView:View?,父级:ViewGroup):视图{
//return super.getView(position、convertView、parent)
var listItem=convertView!!
val充气器=(mContext作为活动)。布局充气器
listItem=充气机。充气(layoutResourceId,父项,false)
val imageViewIcon=listItem.findViewById(R.id.imageViewIcon)作为ImageView
val textViewName=listItem.findViewById(R.id.textViewName)作为TextView
val(图标,名称)=数据!![位置]
设置图像资源(图标)
textViewName.text=名称
返回列表项
}
}
这是list_view_item_row.xml,其中包含TextView和ImageView

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?android:attr/activatedBackgroundIndicator"
    android:minHeight="?android:attr/listPreferredItemHeightSmall"
    android:padding="10dp" >

    <ImageView
        android:id="@+id/imageViewIcon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:paddingRight="10dp" />

    <TextView
        android:id="@+id/textViewName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@+id/imageViewIcon"
        android:paddingRight="10dp"
        android:text="Item Name"
        android:textColor="@android:color/black"
        android:textAppearance="?android:attr/textAppearanceListItemSmall"
        />

</RelativeLayout>

在活动中,我使用适配器

 override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.new_main)


        var drawerItem = arrayOf<DataModel>(DataModel(R.drawable.ic_android_black_24dp, "Connect"))
    
        val adapter:DrawerItemCustomAdapter= DrawerItemCustomAdapter(this,R.layout.list_view_item_row, drawerItem )}
override-fun-onCreate(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.new_main)
var drawerItem=arrayOf(数据模型(R.drawable.ic\u android\u black\u 24dp,“连接”))
val适配器:DrawerItemCustomAdapter=DrawerItemCustomAdapter(this,R.layout.list_view_item_row,drawerItem)}

您从何处获得未解析的引用?你能用问题添加行和错误吗?它在DrawerItemCustomAdapter的getView中。val imageViewIcon=listItem.findViewById(R.id.imageViewIcon)作为ImageView它不应给出
未解析的引用。只需使缓存无效并重新启动IDE。您所说的“无效”是什么意思?在
文件
菜单中应该有一个选项
使缓存无效并重新启动