package training.droplistaddremove.com;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.Editable;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
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 droplistaddremove extends Activity {
private static final String[] strarray = { "北京市", "上海市", "天津市", "重庆市" };
private ArrayAdapter<String> adapter;
private Button butn_add;
private Button butn_remove;
private TextView textview1;
private EditText edittext1;
private Spinner myspinner;
private List<String> allCountries;
private String addstr;
private final int dialog_isexit = 0;
private final int dialog_insert = 1;
private final int dialog_isnull = 2;
private final int dialog_isdelete=3;
/** 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 < strarray.length; i++) {
allCountries.add(strarray[i]);
}
// 设置属性
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, allCountries);
adapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// 通过控件编号去得到各控件
myspinner = (Spinner) findViewById(R.id.mySpinner);
butn_add = (Button) findViewById(R.id.myButton_add);
butn_remove = (Button) findViewById(R.id.myButton_remove);
textview1 = (TextView) findViewById(R.id.myTextView);
edittext1 = (EditText) findViewById(R.id.myEditText);
// 为下拉列表赋值
myspinner.setAdapter(adapter);
// 添加按钮事件
butn_add.setOnClickListener(new Button.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
addstr = edittext1.getText().toString();
// 在当前的数组是否有这输入的值
for (int i = 0; i < strarray.length; i++) {
if (addstr.equals(adapter.getItem(i))) {
textview1.setText(addstr + "已经存在不能在添加");
// new
// AlertDialog.Builder(droplistaddremove.this).setTitle("添加值重复")
// .setMessage("您添加的"+addstr+"已经存在不能在添加")
// .setPositiveButton("确定", null).show();
showDialog(dialog_isexit);
return;
}
}
if (addstr.equals("")) {
// new
// AlertDialog.Builder(droplistaddremove.this).setTitle("添加值不能为空")
// .setMessage("您添加的值不能为空")
// .setPositiveButton("确定", null).show();
showDialog(dialog_isnull);
return;
}
// 当前输入的值是否为空为空的话则不能加入相反加入
if (!addstr.equals("")) {
showDialog(dialog_insert);

}

}

});
// 删除按钮事件
butn_remove.setOnClickListener(new Button.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (myspinner.getSelectedItem() != null) {
//String Strselect = myspinner.getSelectedItem().toString();
//allCountries.remove(Strselect);
//textview1.setText("");
//edittext1.setText("");
showDialog(dialog_isdelete);
}

}
});
/* 将mySpinner添加OnItemSelectedListener */
myspinner
.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
/* 将所选mySpinner的值带入myTextView中 */
textview1.setText(arg0.getSelectedItem().toString());
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});

}

protected Dialog onCreateDialog(int id) {
switch (id) {
case dialog_isexit:
return builddialog(this, dialog_isexit);

case dialog_insert:
return builddialog(this, dialog_insert);
case dialog_isnull:
return builddialog(this, dialog_isnull);
case dialog_isdelete:
return builddialog(this,dialog_isdelete);
}
return super.onCreateDialog(id);

}

private Dialog builddialog(Context context, int id) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
switch (id) {
case dialog_isexit:
builder.setTitle("添加重复值");
builder.setMessage("您添加的" + addstr + "已经重复不能在加");
builder.setPositiveButton("确定", new Dialog.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
// finish();
return;
}
});
break;
case dialog_insert:
builder.setTitle("添加");
builder.setMessage("您确定要添加吗?");
builder.setPositiveButton("确定", new Dialog.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
// finish();
allCountries.add(addstr);
int position = adapter.getPosition(addstr);
/* 将Spinner选择在添加的值的位置 */
myspinner.setSelection(position);
textview1.setText(addstr);
edittext1.setText("");
}
}).setNegativeButton("取消", null);
break;
case dialog_isnull:
builder.setTitle("添加值为空");
builder.setMessage("添加值不能为空");
builder.setPositiveButton("确定", null);
break;
case dialog_isdelete:
builder.setTitle("删除");
builder.setMessage("您真的要删除吗?");
builder.setPositiveButton("确定", new Dialog.OnClickListener(){

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
String Strselect = myspinner.getSelectedItem().toString();
allCountries.remove(Strselect);
textview1.setText(Strselect+"删除成功");
edittext1.setText("");
}}).setNegativeButton("取消", null);
break;
}
return builder.create();
}
public boolean onCreateOptionsMenu(Menu menu)
{
super.onCreateOptionsMenu(menu);
menu.add(0,0,0,"添加").setIcon(android.R.id.input);
menu.add(0,1,0,"删除").setIcon(android.R.drawable.btn_star_big_off);
return true;
}
public boolean onMenuItemSelected(int featureId, MenuItem item )
{
switch (featureId)
{
case 0:
showDialog(dialog_insert);
break;
case 1:
showDialog(dialog_isdelete);
break;
}
return super.onMenuItemSelected(featureId, item);

}
}

更多相关文章

  1. Mac 完全卸载 Android(安卓)Studio
  2. Android桌面快捷方式的实现
  3. Android(安卓)GridView的使用
  4. mac 彻底删除android studio
  5. Mac 完全卸载 Android(安卓)Studio
  6. android改变alertdialog.builder样式
  7. Android(安卓)webview 中添加背景
  8. Gradle sync failed: com.android.tools.idea.gradle.project.mo
  9. Android(安卓)给TextView的内容 添加跳转无下划线

随机推荐

  1. Android(安卓)TextView字体颜色等样式详
  2. Android(安卓)Sqlite Failed to open dat
  3. 做android 开发遇到的问题及解决办法记录
  4. Android(安卓)主动获取电量的方法
  5. android 如何实现EditText从不可编辑状态
  6. 「横竖屏」 「分屏」 「虚拟按键」
  7. android 界面布局
  8. Android(安卓)九宫格图片展示的实现
  9. Android(安卓)Studio的Gradle错误解决方
  10. Android植物大战僵尸附源码