【Android,Kotlin】ListViewでタップした時に画面遷移する

ListViewの各項目をタップすると別画面に遷移し、遷移先では戻るボタンをつけてみた。

ListView
遷移先(Backボタンで戻る)

ListViewの各行をタップすると、何番目がタップされたかの情報が取得できるので、それをもとに配列の中身をIntentに入れて渡す。

        // 項目をタップしたときの処理
        list_view.setOnItemClickListener {parent, view, position, id ->

            var elem = results[position]
            val intent = Intent(this.applicationContext, DetailActivity::class.java)

            val ssid: String = elem.SSID

            // インテントにセット
            intent.putExtra("ssid", ssid)

            startActivity(intent)

        }

遷移先のActivityではIntentの中身を取り出して表示する。

アクションバーに戻るボタンをつけて、押された時に画面を終了する処理を記載した。

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

        val intent = intent
        val ssid = intent.getStringExtra("ssid")
        tv_ssid.text = ssid

        // アクションバーに戻るボタンを表示する
        supportActionBar?.setDisplayHomeAsUpEnabled(true)
    }

    override fun onSupportNavigateUp(): Boolean {
        //画面終了
        finish()
        return super.onSupportNavigateUp()
    }

ABOUTこの記事をかいた人

個人アプリ開発者。Python、Swift、Unityのことを発信します。月間2.5万PVブログ運営。 Twitter:@yamagablog