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 中。
运行效果如下:
这里选中的名字是王刚,EditText就显示出来了。
源码下载请关注大鸟科创空间,回复andriod studio进行下载
作者: 大鸟科创空间, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3949041.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
yzw92 2021-5-16 08:39