package com.chaowen;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
public class Ex04_09_add_Spinner extends Activity {
/** Called when the activity is first created. */
private static final String[] countriesStr={"北京","上海","天津","重庆"};
private TextView myTextView;
private EditText myEditText;
private Button myButton_add;
private Button myButton_remove;
private Spinner mySpinner;
private ArrayAdapter<String> adapter;
private List<String> allCountries;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
allCountries=new ArrayList<String>();
for (int i = 0; i < countriesStr.length; i++) {
allCountries.add(countriesStr[i]);
}
//new ArrayAdapter对象并将allCountries传入
adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,allCountries);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
//以findViewById()取得对象
myTextView=(TextView)findViewById(R.id.myTextView);
myEditText=(EditText)findViewById(R.id.myEditText);
myButton_add=(Button)findViewById(R.id.myButton_add);
myButton_remove=(Button)findViewById(R.id.myButton_remove);
mySpinner=(Spinner)findViewById(R.id.mySpinner);
//将ArrayAdapter添加Spinner对象中
mySpinner.setAdapter(adapter);
//将myButton_add添加OnClickListener
myButton_add.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
String newCountry=myEditText.getText().toString();
//先比较添加的值是否已存在,不存在才可添加
for (int i = 0; i < adapter.getCount(); i++) {
if(newCountry.equals(adapter.getItem(i))){
return;
}
}
if(!newCountry.equals("")){
//将值添加至adapter
adapter.add(newCountry);
//取得添加的值的位置
int position=adapter.getPosition(newCountry);
mySpinner.setSelection(position);
//将myEditText清空
myEditText.setText("");
}
}
});
//将myButton_remove添加OnClickListener
myButton_remove.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
if(mySpinner.getSelectedItem()!=null){
//删除mySpinner的值
adapter.remove(mySpinner.getSelectedItem().toString());
//将myEditText清空
myEditText.setText("");
if(adapter.getCount()==0){
//将myTextView清空
myTextView.setText("");
}
}
}
});
//将mySpinner添加OnItemSelectedListener
mySpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
//将所选mySpinner的值带入myTextView中
myTextView.setText(arg0.getSelectedItem().toString());
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/white"
>
<TextView
android:id="@+id/myTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/title"
android:textColor="@drawable/black"
>
</TextView>
<EditText
android:id="@+id/myEditText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
</EditText>
<Button
android:id="@+id/myButton_add"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="新增"
>
</Button>
<Button
android:id="@+id/myButton_remove"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="移除"
>
</Button>
<Spinner
android:id="@+id/mySpinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
</Spinner>
</LinearLayout>
- 大小: 15.8 KB
分享到:
相关推荐
本主题将深入探讨如何在Android应用中动态地添加和删除Spinner菜单,以及ArrayList和Widget之间的依赖关系。 一、Spinner的基础知识 Spinner是Android SDK中的一个视图组件,继承自AdapterView,它可以通过一个...
要实现动态添加菜单项,可以创建一个新的菜单项字符串,然后添加到适配器的末尾。例如: ```java String newItem = "新添加的选项"; ArrayAdapter<String> adapter = (ArrayAdapter) spinner.getAdapter(); adapter...
角宝叠加旋转器 当绑定为真时,将微调器添加到... 将treasure-overlay-spinner添加为角度模块依赖项 用法 angular . module ( 'example' , [ 'treasure-overlay-spinner' ] ) ; angular . module ( 'example' ) . run
在Android开发中,Spinner是一种常见的UI组件,它用于在下拉菜单中展示一系列选项供用户选择。本教程将深入探讨如何实现一个自定义的Spinner,该Spinner是通过结合TextView和Dialog来创建的,以提供更灵活和个性化的...
用途及功能: https://github.com/joarhem/Matlab-Loading-Spinner
安装使用NPM:$ npm install react-loader-spinner --save使用纱$ yarn add react-loader-spinner导入所需CSS import "react-loader-spinner/dist/loader/css/react-spinner-loader.css" ;演示版[在页面中查看]用法 ...
在Android开发中,Spinner是一个非常常见的控件,它通常用于实现下拉选择菜单的效果,能够为用户提供简洁的交互体验。本篇文章将详细讲解如何在Android中动态加载Spinner的内容,同时结合"源码"和"工具"这两个标签,...
script src =" bower_components/angular-simple-spinner/angular_simple_spinner.js " > </ script > < link rel =" stylesheet " href =" bower_components/angular-simple-spinner/angular-simple...
与第三方组件兼容,并与可选内置组件包装在一起Spinner仅1.5KB缩小并压缩为ESM,CommonJS,UMD版本安装npm install --save vue-promise-btn快速入门:使用vue导入和“握手”插件从'vue'导入Vue从'vue-promise-btn...
Spinner是Android系统中的一种常见控件,用于展示一个下拉选择菜单。在用户交互时,它通常以一个简短的文本表示,当点击后会展开一个列表供用户选择。这个"Spinner下拉菜单"的主题主要涉及到如何自定义Spinner的XML...
Android-react-native-loading-spinner-overlay.zip,反应本机加载微调器覆盖,安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上构建的,具有安全性优势。
资源分类:Python库 所属语言:Python 资源全名:click_spinner-0.1.5-py2.7.egg 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
<style name="SpinnerDropdownTheme" parent="Widget.AppCompat.Spinner.DropDown"> <!-- 修改下拉列表背景 --> <item name="android:popupBackground">@drawable/dropdown_background</item> <!-- 修改下拉列表...
<style name="CustomSpinnerStyle" parent="Widget.AppCompat.Spinner"> <item name="android:background">@drawable/custom_spinner_background</item> <item name="android:textColor">@color/custom_text_color...
<style name="CustomSpinnerStyle" parent="Widget.AppCompat.Spinner"> <item name="android:background">@drawable/custom_spinner_background</item> </style> <!-- custom_spinner_background.xml --> ...
Spinner是Android提供的一个下拉选择控件,用户可以点击它来展示一个下拉菜单,通常用于展示有限的选项列表。在本项目中,Spinner用于展示省、市、区三个级别的列表。 1. 数据结构设计: - 省市区数据通常存储在...
在Android开发中,Spinner是一个非常常用的控件,它允许用户从一组预定义的选项中进行选择,类似于下拉菜单。本教程将详细讲解如何在Android Studio中为Spinner自定义背景图,并提供相应的代码示例。 首先,我们...
这个库结合了 `chalk` 和 `cli-spinner` 的优点,不仅能够创建动态的视觉反馈,还能通过 `chalk` 提供多彩的颜色支持,使得输出的提示信息更加醒目和友好。 **chalk** `chalk` 是一个流行的 JavaScript 库,用于为...
import Spinner from '@flatlinediver/react-spinner' ; export default = ( { data } ) => ( { data . length ? < div> Mapped data < / div > : < Spinner> } ) 使用悬念的例子 import React from 'react' ...
Vue.js缺少的产品微调器。 现场演示 在CodeSandbox上尝试! 安装 npm npm i vue-product-spinner 纱 yarn add vue-product-spinner ...VueProductSpinner将允许您添加任何组件以处理图像预取时间。