android中的setOnLongClickListener与kotlin

Nou*_*hat 5 android listview kotlin

我如何setOnItemClickListner在我的每个项目中使用ListView

我的xml:

<ListView
    android:id="@+id/tv1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

</ListView>
Run Code Online (Sandbox Code Playgroud)

这是我的适配器类

inner class mo3d1Adapter : BaseAdapter {
    override fun getItemId(p0: Int): Long {
        return p0.toLong()
    }

    override fun getCount(): Int {
        return listOfmo3d.size
    }

    var listOfMkabala = ArrayList<MeetingDetails>()
    var context: Context? = null

    constructor(context: Context, listOfMkabaln: ArrayList<MeetingDetails>) : super() {
        this.listOfMkabala = listOfMkabaln
        this.context = context
    }

    override fun getView(p0: Int, p1: View?, p2: ViewGroup?): View {
        val mo3d = listOfmo3d[p0]

        var inflatormo3d = context!!.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
        var myViewmo3d = inflatormo3d.inflate(R.layout.fragment_item, null)

        lvMo3d.onItemClickListener = AdapterView.OnItemClickListener { adapterView, view, i, l ->
            Toast.makeText(context, "   TEST STACK   ", Toast.LENGTH_LONG).show()

        }


        myViewmo3d.meeting_name.text = mo3d.name1!!
        myViewmo3d.meeting_date.text = mo3d.date.toString()!!
        myViewmo3d.attendance_number.text = mo3d.n2.toString()!!



        return myViewmo3d


    }

    override fun getItem(p0: Int): Any {
        return listOfmo3d[p0]

    }


}
Run Code Online (Sandbox Code Playgroud)
  • 我希望听取我的每个项目 ListView

当我setOnClickListener在适配器中使用此方法时,它无法正常工作,我可以在哪里使用?

Sun*_*l P 8

在您的活动类中尝试此操作

lv.setOnItemClickListener { parent, view, position, id ->
    Toast.makeText(this, "Position Clicked:"+" "+position,Toast.LENGTH_SHORT).show()
}
Run Code Online (Sandbox Code Playgroud)