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
Android ListView的Kotlin setOnClickListener_Android_Listview_Kotlin_Onclicklistener - Fatal编程技术网

Android ListView的Kotlin setOnClickListener

Android ListView的Kotlin setOnClickListener,android,listview,kotlin,onclicklistener,Android,Listview,Kotlin,Onclicklistener,我有以下代码: class BookListActivity : AppCompatActivity() { var array = arrayOf("Item 1", "Item 2", "Item 3", "Item 4", "Item 5", "Item 6", "Item 7", "Item 8", "Item 9", "Item 10", "Item 11") override fun onCreate(savedInstanceState: Bundle?)

我有以下代码:

class BookListActivity : AppCompatActivity()
{

    var array = arrayOf("Item 1", "Item 2", "Item 3", "Item 4", "Item 5", "Item 6", "Item 7", "Item 8", "Item 9", "Item 10", "Item 11")

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

        val adapter = ArrayAdapter(this, R.layout.book_list_item, R.id.book_title, array)
        val listView : ListView = findViewById(R.id.book_list)
        listView.adapter = adapter    
    }
}
我需要为listView上的每个元素添加一个click侦听器

我尝试了以下方法,但无效:

listView.setOnItemClickListener
{
    val intent = Intent(this, BookDetailActivity::class.java)
    startActivity(intent)
}

我还需要知道我点击了什么ListView元素。我如何才能做到这一点?

您必须处理

您的侦听器应如下所示:

listView.setOnItemClickListener { parent, view, position, id -> 
    val element = adapter.getItemAtPosition(position) // The item that was clicked
    val intent = Intent(this, BookDetailActivity::class.java)
    startActivity(intent)
}

您必须处理的所有参数

您的侦听器应如下所示:

listView.setOnItemClickListener { parent, view, position, id -> 
    val element = adapter.getItemAtPosition(position) // The item that was clicked
    val intent = Intent(this, BookDetailActivity::class.java)
    startActivity(intent)
}

请为listview项目单击侦听器尝试此解决方案

listView.setOnItemClickListener = AdapterView.OnItemClickListener {parent,view, position, id ->
          // Get the selected item text from ListView
          val selectedItem = parent.getItemAtPosition(position) as String

          val intent = Intent(this, BookDetailActivity::class.java)
          startActivity(intent)
    }

请为listview项目单击侦听器尝试此解决方案

listView.setOnItemClickListener = AdapterView.OnItemClickListener {parent,view, position, id ->
          // Get the selected item text from ListView
          val selectedItem = parent.getItemAtPosition(position) as String

          val intent = Intent(this, BookDetailActivity::class.java)
          startActivity(intent)
    }
我宁愿做parent.getItemAtPositionposition我宁愿做parent.getItemAtPositionposition