android-addSpinner

Spinner增删实例
本文介绍了一个使用Spinner组件的示例应用,演示了如何通过按钮点击事件实现数据项的添加和删除功能。该应用允许用户输入新的选项并将其添加到Spinner中,同时也可以从Spinner中移除已有的选项。
对Spinner的增加删除。




<?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"
    >
<TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
<EditText android:layout_height="wrap_content" android:id="@+id/editText" android:layout_width="fill_parent"></EditText>
<Button android:text="添加" android:id="@+id/add" android:layout_height="wrap_content" android:layout_width="fill_parent"></Button>
<Button android:text="删除" android:id="@+id/del" android:layout_height="wrap_content" android:layout_width="fill_parent"></Button>
<Spinner android:id="@+id/spinner" android:layout_width="fill_parent" android:layout_height="wrap_content"></Spinner>
</LinearLayout>

package zhang.spinner;

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 addSpinner extends Activity {
	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;

	/** Called when the activity is first created. */
	@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_dropdown_item);
			// 取得对象
			myTextView = (TextView) findViewById(R.id.textView);
			myEditText = (EditText) findViewById(R.id.editText);
			myButton_add = (Button) findViewById(R.id.add);
			myButton_remove = (Button) findViewById(R.id.del);
			mySpinner = (Spinner) findViewById(R.id.spinner);
			// 将ArrayAdapter添加到Spinner对象中
			mySpinner.setAdapter(adapter);
			// 将myButton-add添加OnclickListener
			myButton_add.setOnClickListener(new Button.OnClickListener() {
				@Override
				public void onClick(View arg0) {
					// TODO Auto-generated method stub
					// 取得输入的值
					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);
						// 将Spinner选择在添加的值的位置
						mySpinner.setSelection(position);
						// 将myEditText清空
						myEditText.setText("");
					}
				}
			});
			myButton_add.setOnLongClickListener(new View.OnLongClickListener() {
				
				@Override
				public boolean onLongClick(View arg0) {
					// TODO Auto-generated method stub
					finish();
					return false;
				}
			});
			// myButton-remove添加onclicklistener
			myButton_remove.setOnClickListener(new Button.OnClickListener() {

				@Override
				public void onClick(View arg0) {
					// TODO Auto-generated method stub
					if (mySpinner.getSelectedItem() != null) {
						// 删除myspinner的值
						adapter.remove(mySpinner.getSelectedItem().toString());
						// 将myeditText清空
						myEditText.setText("");
						if (adapter.getCount() == 0) {
							myTextView.setText("");
						}
					}
				}
			});
			mySpinner
					.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {

						@Override
						public void onItemSelected(AdapterView<?> arg0,
								View arg1, int arg2, long arg3) {
							// TODO Auto-generated method stub
							// 将所选的mySpinner的值代入myTextView
							myTextView.setText(arg0.getSelectedItem()
									.toString());
						}

						@Override
						public void onNothingSelected(AdapterView<?> arg0) {
							// TODO Auto-generated method stub

						}

					});
		}

	}
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值