EX04_09.java
上传用户:vip_99
上传日期:2021-03-27
资源大小:61159k
文件大小:4k
源码类别:

android开发

开发平台:

Java

  1. package irdc.ex04_09;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.widget.AdapterView;
  6. import android.widget.ArrayAdapter;
  7. import android.widget.Button;
  8. import android.widget.EditText;
  9. import android.widget.Spinner;
  10. import android.widget.TextView;
  11. import java.util.ArrayList;
  12. import java.util.List;
  13. public class EX04_09 extends Activity
  14. {
  15.   private static final String[] countriesStr =
  16.   { "北京市", "上海市", "天津市", "重庆市" };
  17.   private TextView myTextView;
  18.   private EditText myEditText;
  19.   private Button myButton_add;
  20.   private Button myButton_remove;
  21.   private Spinner mySpinner;
  22.   private ArrayAdapter<String> adapter;
  23.   private List<String> allCountries;
  24.   /** Called when the activity is first created. */
  25.   @Override
  26.   public void onCreate(Bundle savedInstanceState)
  27.   {
  28.     super.onCreate(savedInstanceState);
  29.     /* 载入main.xml Layout */
  30.     setContentView(R.layout.main);
  31.     allCountries = new ArrayList<String>();
  32.     for (int i = 0; i < countriesStr.length; i++)
  33.     {
  34.       allCountries.add(countriesStr[i]);
  35.     }
  36.     /* new ArrayAdapter对象并将allCountries传入 */
  37.     adapter = new ArrayAdapter<String>(this,
  38.         android.R.layout.simple_spinner_item, allCountries);
  39.     adapter
  40.         .setDropDownViewResource
  41.          (android.R.layout.simple_spinner_dropdown_item);
  42.     /* 以findViewById()取得对象 */
  43.     myTextView = (TextView) findViewById(R.id.myTextView);
  44.     myEditText = (EditText) findViewById(R.id.myEditText);
  45.     myButton_add = (Button) findViewById(R.id.myButton_add);
  46.     myButton_remove = (Button) findViewById(R.id.myButton_remove);
  47.     mySpinner = (Spinner) findViewById(R.id.mySpinner);
  48.     /* 将ArrayAdapter添加Spinner对象中 */
  49.     mySpinner.setAdapter(adapter);
  50.     /* 将myButton_add添加OnClickListener */
  51.     myButton_add.setOnClickListener(new Button.OnClickListener()
  52.     {
  53.       @Override
  54.       public void onClick(View arg0)
  55.       {
  56.         String newCountry = myEditText.getText().toString();
  57.         /* 先比较添加的值是否已存在,不存在才可添加 */
  58.         for (int i = 0; i < adapter.getCount(); i++)
  59.         {
  60.           if (newCountry.equals(adapter.getItem(i)))
  61.           {
  62.             return;
  63.           }
  64.         }
  65.         if (!newCountry.equals(""))
  66.         {
  67.           /* 将值添加至adapter */
  68.           adapter.add(newCountry);
  69.           /* 取得添加的值的位置 */
  70.           int position = adapter.getPosition(newCountry);
  71.           /* 将Spinner选择在添加的值的位置 */
  72.           mySpinner.setSelection(position);
  73.           /* 将myEditText清空 */
  74.           myEditText.setText("");
  75.         }
  76.       }
  77.     });
  78.     /* 将myButton_remove添加OnClickListener */
  79.     myButton_remove.setOnClickListener(new Button.OnClickListener()
  80.     {
  81.       @Override
  82.       public void onClick(View arg0)
  83.       {
  84.         if (mySpinner.getSelectedItem() != null)
  85.         {
  86.           /* 删除mySpinner的值 */
  87.           adapter.remove(mySpinner.getSelectedItem().toString());
  88.           /* 将myEditText清空 */
  89.           myEditText.setText("");
  90.           if (adapter.getCount() == 0)
  91.           {
  92.             /* 将myTextView清空 */
  93.             myTextView.setText("");
  94.           }
  95.         }
  96.       }
  97.     });
  98.     /* 将mySpinner添加OnItemSelectedListener */
  99.     mySpinner.setOnItemSelectedListener
  100.     (new Spinner.OnItemSelectedListener()
  101.     {
  102.       @Override
  103.       public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
  104.           long arg3)
  105.       {
  106.         /* 将所选mySpinner的值带入myTextView中 */
  107.         myTextView.setText(arg0.getSelectedItem().toString());
  108.       }
  109.       @Override
  110.       public void onNothingSelected(AdapterView<?> arg0)
  111.       {
  112.       }
  113.     });
  114.   }
  115. }