原创 android中下拉列表的选中事件

2021-5-14 18:59 1524 16 3 分类: 软件与OS 文集: android studio

1、MainActivity的布局文件代码如下,加入一个表示姓名的下拉列表:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:tools="http://schemas.android.com/tools"
  4. android:layout_width="match_parent"
  5. android:layout_height="match_parent"
  6. android:orientation="vertical"
  7. tools:context=".MainActivity">
  8. <EditText
  9. android:id="@+id/edit"
  10. android:layout_width="match_parent"
  11. android:layout_height="wrap_content"
  12. />
  13. <Spinner
  14. android:layout_gravity="center"
  15. android:id="@+id/spinnerClick"
  16. android:layout_width="180dp"
  17. android:layout_height="60dp"
  18. android:entries="@array/names"/>
  19. </LinearLayout>

Spinner 的几个属性中,读者可能会对 android∶entries 属性相对陌生一些。它是用来选择 Spinner 下拉选项内容的属性。在开发时,我们会在 res/values 中新建数组作为此属性的内容,向 Spinner 的下拉选项中注入数据。因此,我们在 res/values 中新建一个name.xml,并建立一个数组

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <string-array name="names">
  4. <item>王明</item>
  5. <item>王丽</item>
  6. <item>王刚</item>
  7. <item>杨丽</item>
  8. <item>王一凡</item>
  9. </string-array>
  10. </resources>

2、使 MainActivity 实现下拉列表的事件处理接口 AdapterView.OnItemSelectedListener其实是下拉列表某个条目的处理接口。然后实现该接口的处理方法,MainActivity 代码如下

  1. package com.rfstar.spinnertest;
  2. import androidx.appcompat.app.AppCompatActivity;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.widget.AdapterView;
  6. import android.widget.EditText;
  7. import android.widget.Spinner;
  8. public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
  9. EditText editText;
  10. Spinner spinner;
  11. @Override
  12. protected void onCreate(Bundle savedInstanceState) {
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.activity_main);
  15. editText=(EditText)findViewById(R.id.edit);
  16. spinner=(Spinner)findViewById(R.id.spinnerClick);
  17. spinner.setOnItemSelectedListener(this);
  18. }
  19. @Override
  20. public void onItemSelected(AdapterView<?> parent, View view, int i, long l) {
  21. String value=parent.getItemAtPosition(i).toString();
  22. editText.setText("您的名字是:"+value);
  23. }
  24. @Override
  25. public void onNothingSelected(AdapterView<?> parent) {
  26. }
  27. }

特殊的是,它有两个实现方法,前者是选中某个条目之后的处理方法,后者是没有任何条目被选中的处理方法。当选中某条时,让它显示到 EditText 中。

运行效果如下:

这里选中的名字是王刚,EditText就显示出来了。

源码下载请关注大鸟科创空间,回复andriod studio进行下载

作者: 大鸟科创空间, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3949041.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

给作者打赏,鼓励TA抓紧创作!

赞赏支持
点赞 16
赞赏0

文章评论1条评论)

登录后参与讨论

yzw92 2021-5-16 08:39

谢谢分享
相关推荐阅读
大鸟科创空间 2022-02-14 17:42
生日快乐HTML浪漫网页制作源码
对象生日快到了,赶快下载去给ta一个惊喜吧。解压后里面有整个项目和使用说明。这个代码有背景音乐(可以自己更改),有自转相册(可以改成对象照片)如下是效果截图,用鼠标滑动界面会有爱心划过,下滑可以循环播...
大鸟科创空间 2022-01-18 18:06
Android之WebView用法
除了HTTP通信与 Socket 通信两种主要的网络技术外,在 Android 中还提供了一种加载和显示网页的技术—WebView。这可以让我们去处理一些特殊的需求,比如像微信那样在应用程序里展示网页...
大鸟科创空间 2022-01-07 14:18
Android之Socket实例
    Socket(套接字)是对 TCP/IP 协议的封装和应用,根据底层封装协议的不同,Socket 的类型可以分为流套接字(streamsocket)和数据报套接字(data...
大鸟科创空间 2021-12-24 14:38
Android之本地广播的使用
前面我们发送和接收的广播全部属于系统全局广播,即发出的广播可以被其他任何应用程序接收到,并且我们也可以接收来自于其他任何应用程序的广播。这样就很容易会引起安全性的问题,比如说我们发送的一些携带关键性数...
大鸟科创空间 2021-12-15 12:50
自定义广播实例
我们应该已经学会了通过广播接收者来接收系统广播的内容,但是在实际开发中,仍需要自定义一些广播。下面我们就来讲解如何在应用程序中发送自定义的广播。发送广播很简单,只需要声明一个意图,然后使用Contex...
大鸟科创空间 2021-12-07 13:04
Android之动态注册广播实例
Android内置了很多系统级别的广播,我们可以在应用序中通过监听这些广播来得到各种系统的状态信息,比如手机开机完成后会发出一条广播、电池的电最发生变化会发出一条广播、时间或时区发生改变也会发出一条广...
EE直播间
更多
我要评论
1
16
1
2
3
4
5
6
7
8
9
0
关闭 站长推荐上一条 /6 下一条