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

2021-5-14 18:59 514 5 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

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

文章评论1条评论)

登录后参与讨论

yzw92 2021-5-16 08:39

谢谢分享
相关推荐阅读
大鸟科创空间 2021-06-17 11:39
android之ViewPager与TabLayout
使用 TabLayout 很容易实现选项卡的功能。这里将结合 ViewPager、Fragment、TabLayout实现一个具有选项卡功能的程序。本例再上篇讲解的ViewPager与Fragment...
大鸟科创空间 2021-06-16 14:15
android中ViewPager 与 Fragment
在实际的开发过程中,ViewPager 与 Fragment 组合使用是比较常见的,而对于 fragment,它所使用的适配器是FragmentPagerAdapter。FragmentPagerAd...
大鸟科创空间 2021-06-11 13:15
android之ViewPager的使用
ViewPager是一个非常强大的 UI组件,应用非常广泛。它提供了多界面切换的效果,具体来说就是∶当前显示一组界面中的一个界面,当用户左右滑动界面时,当前的屏幕显示当前界面和下一个界面的一部分,滑动...
大鸟科创空间 2021-06-02 17:14
继承 BaseAdapter 自定义 Adapter 来实现 ListView
其实 SimpleAdapter 适配器已经能够满足很多情况了,但是由于它的一些缺陷,实际上在开发中使用最多、最广泛的还是通过继承 BaseAdapter 自定义 Adapter 的方式来实现List...
大鸟科创空间 2021-05-26 13:00
Android之使用 SimpleAdapter 实现 ListView
使用 SimpleAdapter来实现ListView有一定的扩充性,可以实现一定的自定义效果,这种自定义的效果是通过创建 item 样式来实现的。创建一个名为 item_list.xml的 item...
大鸟科创空间 2021-05-21 18:26
android之ListView 的使用之用法一
在 Android 开发中 ListView 是非常常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。它以垂直的方式排列其内部 item,其中的 item 可以被定义成各种复杂...
广告
我要评论
1
5
1
2
3
4
5
6
7
8
9
0
广告
关闭 热点推荐上一条 /5 下一条