一。创建项目
项目名Beer Adviser
二。更新布局
activity_main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"xmlns:tools="http://schemas.android.com/tools"android:gravity="center"android:orientation="vertical"><Spinnerandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/beer_color"android:layout_gravity="center"android:layout_margin="16dp"android:entries="@array/beer_colors"/><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/find_beer"style="?android:attr/buttonBarButtonStyle"android:id="@+id/find_beer"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="24dp"android:id="@+id/brands"tools:text="@string/brands"/></LinearLayout>
三。增加资源
strings.xml
<resources><string name="app_name">Beer Adviser</string><string name="find_beer">Find Beer</string><string name="brands">No beer selected</string><string-array name="beer_colors"><item>Light</item><item>Amber</item><item>Brown</item><item>Dark</item></string-array>
</resources>
四。响应点击
MainActivity.kt
package com.demo.beeradviserimport androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.Spinner
import android.widget.TextViewclass MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)val findBeer = findViewById<Button>(R.id.find_beer)findBeer.setOnClickListener {val beerColor = findViewById<Spinner>(R.id.beer_color)val color = beerColor.selectedItemval beerList = getBeers(color.toString())val beers = beerList.reduce { str, item -> str + '\n' + item }val brands = findViewById<TextView>(R.id.brands)brands.text = beers}}fun getBeers(color: String): List<String> {return when (color) {"Light" -> listOf("Jail Pale Ale", "Lager Lite")"Amber" -> listOf("Jack Amber", "Red Moose")"Brown" -> listOf("Brown Bear Beer", "Bock Brownie")else -> listOf("Gout Stout", "Dark Daniel")}}
}
知识点: