select_spinner.xml


<?xml version="1.0" encoding="utf-8"?><LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:orientation="vertical"  >  <TextView      android:id="@+id/TextView01"    android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="this is FirstActivity of AppB"    />    <Spinner     android:id="@+id/spinner"     android:layout_width="fill_parent"     android:layout_height="wrap_content"     />  </LinearLayout>

代码实现:

 protected void onCreate(Bundle savedInstanceState) {        // TODO Auto-generated method stub        super.onCreate(savedInstanceState);        setContentView(R.layout.select_spinner);                                        spinner = (Spinner) findViewById(R.id.spinner);        spinner.setPrompt("请选择");        final int [] drawableIds = {R.drawable.aa, R.drawable.icon};        final int [] msgIds = {R.string.aa, R.string.bb};                                BaseAdapter baseAdapter = new BaseAdapter() {            @Override            public int getCount() {                return msgIds.length;            }            @Override            public Object getItem(int position) {                return null;            }            @Override            public long getItemId(int position) {                return 0;            }            @Override            public View getView(int position, View convertView, ViewGroup parent) {             // 动态生成每个下拉项对应的View,每个下拉项View由LinearLayout             // 中包含一个ImageView及一个TextView构成             // 初始化LinearLayout             LinearLayout ll = new LinearLayout(TestActivity.this);             ll.setOrientation(LinearLayout.HORIZONTAL);             // 初始化ImageView             ImageView ii = new ImageView(TestActivity.this);             ii.setImageDrawable((getResources().getDrawable(drawableIds[position])));             ll.addView(ii);             // 初始化TextView             TextView tv = new TextView(TestActivity.this);             tv.setText(" " + getResources().getText(msgIds[position]));             tv.setTextColor(R.color.blue);             tv.setTextSize(24);             ll.addView(tv);             return ll;            }                    };                        spinner.setAdapter(baseAdapter);        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {             @Override             public void onItemSelected(AdapterView<?> arg0, View view,                     int arg2, long arg3) {                 //被选中时候发生的动作                Log.i("chen", "===="+arg0+"   "+view+"    "+arg2+"    "+arg3);                             // 获取主界面TextView                TextView tv = (TextView) findViewById(R.id.TextView01);                // 获取当前选中选项对应的LinearLayout                LinearLayout ll = (LinearLayout) view;                // 获取其中的TextView                TextView tvn = (TextView) ll.getChildAt(1);                // 用StringBuilder动态生成信息                StringBuilder sb = new StringBuilder();                sb.append(getResources().getText(R.string.app_name));                sb.append(":");                sb.append(tvn.getText());                // 信息设置进住界面                tv.setText(sb.toString());            }             @Override             public void onNothingSelected(AdapterView<?> arg0) {                             }         });    }


如果用ArrayAdapter实现如下:

//设置下拉框控件的标题文本内容:spinner.setPrompt("请选择");//定义下拉框内容:String [] datas = {“ATAAW.COM”,”Android.com”,”Google.com”};//定义添加适配器:ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, datas, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter);//响应下拉框的选中值发生变化的事件处理:spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {             @Override             public void onItemSelected(AdapterView<?> arg0, View arg1,                     int arg2, long arg3) {                 //被选中时候发生的动作             }             @Override             public void onNothingSelected(AdapterView<?> arg0) {             }         });



更多相关文章

  1. Android中获取应用程序(包)的信息-----PackageManager的使用(一)
  2. 【HR小时制】如何获取Android系统时间的小时制
  3. 一个android访问http资源的便捷工具类――HttpHelper
  4. 分享一个Android日志记录的工具类
  5. android 中获取屏幕大小
  6. Android(安卓)星级评分条DEMO
  7. Android(安卓)获取时间实时更新UI
  8. Android(安卓)获取View宽高
  9. Android(安卓)获取视频缩略图

随机推荐

  1. Android引路蜂地图开发示例:地址查询
  2. Android(安卓)Dialog 设置圆角无效
  3. android之拨打电话时在电话号码前加17951
  4. Android(安卓)资源详解(一) 颜色、字符串、
  5. 浅析Android的RILD服务进程的消息循环
  6. android Service Binder交互通信实例详解
  7. Android(安卓)Studio 1.3 到来了,马上来升
  8. android各module的依赖版本统一
  9. 【android】AIDL传递自定义类型参数
  10. android系统屏幕亮度调节