android实现下拉列表 ListView

public class ListView extends Activity {
    /** Called when the activity is first created. */
 
 
 private  List<String> list =  new  ArrayList<String>();  
    private  TextView myTextView;  
    private  Spinner mySpinner;  
    private  ArrayAdapter<String> adapter;  
    private Animation au;
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
      //第一步:添加一个下拉列表项的list,这里添加的项就是下拉列表的菜单项   
        list.add("北京" );  
        list.add("上海" );  
        list.add("深圳" );  
        list.add("南京" );  
        list.add("重庆" );  
        myTextView = (TextView)findViewById(R.id.textview);  
        mySpinner = (Spinner)findViewById(R.id.Spinner01);  
        au=AnimationUtils.loadAnimation(this,R.anim.my_anim);
        //第二步:为下拉列表定义一个适配器,这里就用到里前面定义的list。   
        adapter = new  ArrayAdapter<String>( this ,android.R.layout.simple_spinner_item, list);  
        //第三步:为适配器设置下拉列表下拉时的菜单样式。   
        //simple_spinner_dropdown_item   
       // adapter.setDropDownViewResource(android.R.layout.);  
        //第四步:将适配器添加到下拉列表上   
        mySpinner.setAdapter(adapter); 
       
       
     //  mySpinner.draw(new canvaslist());
      
            
       
//        mySpinner.setBackgroundDrawable(null);
        //第五步:为下拉列表设置各种事件的响应,这个事响应菜单被选中   
        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("您选择的是:" + adapter.getItem(arg2));  
                /* 将mySpinner 显示*/   
                arg0.setVisibility(View.VISIBLE);
    
   }
   @Override
   public void onNothingSelected(AdapterView<?> arg0) {
    // TODO Auto-generated method stub
     myTextView.setText("NONE" );  
                 arg0.setVisibility(View.VISIBLE);
   }  
        });  
        /*下拉菜单弹出的内容选项触屏事件处理*/   
        mySpinner.setOnTouchListener(new  Spinner.OnTouchListener(){  
            public   boolean  onTouch(View v, MotionEvent event) {  
                // TODO Auto-generated method stub   
                /* 将mySpinner 隐藏,不隐藏也可以,看自己爱好*/   
             v.startAnimation(au);
           
                v.setVisibility(View.INVISIBLE);  
                return   false ;  
            }
    
        });  
        /*下拉菜单弹出的内容选项焦点改变事件处理*/   
//        mySpinner.setOnFocusChangeListener(new  Spinner.OnFocusChangeListener(){  
//        public   void  onFocusChange(View v,  boolean  hasFocus) {  
//        // TODO Auto-generated method stub   
//            v.setVisibility(View.VISIBLE);  
//        }  
//        });   
       
       
       
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值