1、MainActivity的布局文件代码如下,加入一个表示姓名的下拉列表:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <EditText android:id="@+id/edit" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Spinner android:layout_gravity="center" android:id="@+id/spinnerClick" android:layout_width="180dp" android:layout_height="60dp" android:entries="@array/names"/></LinearLayout>复制代码在 Spinner 的几个属性中,读者可能会对 android∶entries 属性相对陌生一些。它是用来选择 Spinner 下拉选项内容的属性。在开发时,我们会在 res/values 中新建数组作为此属性的内容,向 Spinner 的下拉选项中注入数据。因此,我们在 res/values 中新建一个name.xml,并建立一个数组∶
<?xml version="1.0" encoding="utf-8"?>
<resources> <string-array name="names"> <item>王明</item> <item>王丽</item> <item>王刚</item> <item>杨丽</item> <item>王一凡</item> </string-array></resources>复制代码2、使 MainActivity 实现下拉列表的事件处理接口 AdapterView.OnItemSelectedListener,其实是下拉列表某个条目的处理接口。然后实现该接口的处理方法,MainActivity 代码如下∶
package com.rfstar.spinnertest;
import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.EditText;import android.widget.Spinner;public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {EditText editText;Spinner spinner; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText=(EditText)findViewById(R.id.edit); spinner=(Spinner)findViewById(R.id.spinnerClick); spinner.setOnItemSelectedListener(this); }@Override public void onItemSelected(AdapterView<?> parent, View view, int i, long l) { String value=parent.getItemAtPosition(i).toString(); editText.setText("您的名字是:"+value); } @Override public void onNothingSelected(AdapterView<?> parent) { }}复制代码特殊的是,它有两个实现方法,前者是选中某个条目之后的处理方法,后者是没有任何条目被选中的处理方法。当选中某条时,让它显示到 EditText 中。
运行效果如下:
![](https://static.assets-stash.eet-china.com/album/202105/14/185751uuz98ouq4u49c95q.png)
这里选中的名字是王刚,EditText就显示出来了。
源码下载请关注大鸟科创空间,回复andriod studio进行下载
![](https://static.assets-stash.eet-china.com/album/202105/14/185858q44ks6gxkk4xk6g4.jpg)
作者: 大鸟科创空间, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3949041.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
yzw92 2021-5-16 08:39