600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Android点选下拉列表框选项 获取选项内容

Android点选下拉列表框选项 获取选项内容

时间:2023-10-09 21:41:57

相关推荐

Android点选下拉列表框选项 获取选项内容

的作者做的一个项目,通过app来监测设备是否在线状态,这时就需要实现分别查询“在线”、“离线”、“全部”三种选项的设备情况。也就是要能实现根据在线与否的状态来对设备进行筛选。

要对数据表中数据进行筛选,经常用到下拉列表框来设定选项,当点选不同选项时,根据选中内容进行筛选。要想完成此项目的,首先要做的就是,当点选下拉列表框中选项时,如何获得选项的内容?下边做一简单介绍。

一、下拉列表框选项字段数组设计

选项数组放在res/values/arrays.xml中,目录如图1所示,代码如码1所示,数组名称为“option”,有“在线”、“离线”、“全部”三个选项。

图1 下拉列表框选项数组放置目录

<?xml version="1.0" encoding="utf-8"?><resources><string-array name="option"><item>全部</item><item>在线</item><item>离线</item></string-array></resources>

码1 下拉列表框选项数组代码

二、主界面设计

为了测试,当点选下拉列表框某个选项时,是否获得该选项的内容。在主界面上除了设计一个下拉列表框之外,还设计了一个textview,用来显示点选下拉列表框之后获得的内容。在android studio中,下拉列表框的名字是Spinner,如图2所示。

图2 下拉列表框名称

主界面设计如图3所示。

图3 主界面

layout代码如码2所示,注意Spinner的属性设置里,有一条语句:

android:entries="@array/option",

此句是把option数组与下拉列表框进行了关联,下拉列表框显示的内容即为数组内容。

<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="/apk/res/android"xmlns:app="/apk/res-auto"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><TextViewandroid:id="@+id/text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="80dp"android:text="获取内容"app:layout_constraintHorizontal_bias="0.562"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toRightOf="parent"app:layout_constraintTop_toTopOf="parent" /><Spinnerandroid:id="@+id/spinner"style="@style/Widget.AppCompat.Spinner.Underlined"android:layout_width="wrap_content"android:layout_height="50dp"android:layout_weight="0.6"android:entries="@array/option"tools:ignore="MissingConstraints"tools:layout_editor_absoluteX="61dp"tools:layout_editor_absoluteY="80dp"></Spinner></androidx.constraintlayout.widget.ConstraintLayout>

码2layout代码

三、java代码

MainActivity.java代码如码3所示,其中

spinner.setOnItemSelectedListener

为下拉列表框点选选项时的监听。

MainActivity.this.getResources().getStringArray(R.array.option)[position]

为获取下拉列表框点选项对应的option数组内容。

package com.example.myspinner;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.Spinner;import android.widget.TextView;public class MainActivity extends AppCompatActivity {TextView textView;Spinner spinner;String spinnercontext;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);textView = (TextView) findViewById(R.id.text);spinner=(Spinner)findViewById(R.id.spinner);spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){@Overridepublic void onItemSelected(AdapterView<?> parent, View view, int position, long id) {spinnercontext=MainActivity.this.getResources().getStringArray(R.array.option)[position];textView.setText(spinnercontext);}@Overridepublic void onNothingSelected(AdapterView<?> parent) {}});}}

码3MainActivity.java代码

四、测试

测试结果如图4所示,当下拉列表框选中不同选项时,textview内容也会随之变化,说明用此方法可以获得下拉列表框选项的内容。

图4 测试结果图

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。