zoukankan      html  css  js  c++  java
  • 04 高级控件总结


    1,Spinner
        >概念;下拉菜单控件 默认显示当前选择的项(第一次展示集合中第一条数据)
        >属性:
            android:entries="@array/books"  展示数据  (note:提前知道数据是什么 )
             android:spinnerMode="dropdown" spinner 样式
             dropdown:下拉列表     设置popupBackground  每一项的背景颜色
             dialog:弹出框              设置prompt   标题      调用的是Values/string.xml/string  

         >监听:setOnItemSelectedListener
        
    2,什么是Adapter?
        >适配器  将数据转换成控件识别的形式

        >子类:BaseAdapter(下周)    ArrayAdapter     SimpleAdapter
        
    3,ArrayAdapter的使用?
        >一般用于只有String类型数据  展示到TextView上

        >如果三个参数的ArrayAdapter   item布局的根节点 必须是TextView
             如果跟节点不是TextVIew 三个参数的会报错      使用四个参数的ArrayAdapter
        
    4,SimpleAdapter的使用:
        >处理复杂的数据   (带有图片和文字)

           Context context:   上下文
               List<? extends Map<String, ?>> data:  数据源
                 int resource:  布局
                 String[] from:  数据源中带key的数组
                 int[] to     :  布局资源中id的数组
                 
                 note:from里的key和to里的控件id  是对应关系

    5,AutoCompleteTextView
        >自动索引的EditText(文本输入框)

        > 默认输入俩个字符  才开始索引
              android:completionThreshold="1" 输入几个字符开始索引
            
    6,addTextChangedListener()的用法?

        >
        
            
            //文本发生变化的监听   可以对EditText操作  
            autoView.addTextChangedListener(new TextWatcher() {
                
                /**
                 * 改变文本时调用
                 * CharSequence s:变化之后的文本
                 * int start:变化的起点  从哪里开始改变
                 * int before: 相比较文本变化  添加没有改变0     删除改变
                 * int count:相比较文本变化     添加有值          删除没有改变0
                 */
                @Override
                public void onTextChanged(CharSequence s, int start, int before, int count) {
                    // TODO Auto-generated method stub
                    Log.e("AAA", "==onTextChanged==s:"+s+"=start:"+start+"=before:"+before+"=count:"+count);
                }
                
                /**
                 * 改变文本之前调用
                 * CharSequence s:变化之前的文本
                 * int start:变化之前的文本下标
                 * int count:相比较文本的变化   添加不变的0   删除是改变:删除几个展示结果
                 * int after:相比较文本的变化     如果添加是有值    如果删除不变   0
                 */
                @Override
                public void beforeTextChanged(CharSequence s, int start, int count,
                        int after) {
                    // TODO Auto-generated method stub
                    Log.e("AAA", "==beforeTextChanged==s:"+s+"=start:"+start+"=count:"+count+"=after:"+after);
                    
                }
                /**
                 * 改变文本之后调用
                 * Editable s:改变之后的文本
                 */
                @Override
                public void afterTextChanged(Editable s) {
                    // TODO Auto-generated method stub
                    Log.e("AAA", "==afterTextChanged==s:"+s);
                }
            });
        

        /**
             * 08-25 15:23:44.334: E/AAA(12812): ==beforeTextChanged==s:=start:0=count:0=after:1
                08-25 15:23:44.334: E/AAA(12812): ==onTextChanged==s:g=start:0=before:0=count:1
                08-25 15:23:44.334: E/AAA(12812): ==afterTextChanged==s:g
                08-25 15:23:45.904: E/AAA(12812): ==beforeTextChanged==s:g=start:1=count:0=after:1
                08-25 15:23:45.904: E/AAA(12812): ==onTextChanged==s:gh=start:1=before:0=count:1
                08-25 15:23:45.904: E/AAA(12812): ==afterTextChanged==s:gh
                08-25 15:23:47.824: E/AAA(12812): ==beforeTextChanged==s:gh=start:2=count:0=after:1
                08-25 15:23:47.824: E/AAA(12812): ==onTextChanged==s:ghj=start:2=before:0=count:1
                08-25 15:23:47.824: E/AAA(12812): ==afterTextChanged==s:ghj
                08-25 15:23:49.164: E/AAA(12812): ==beforeTextChanged==s:ghj=start:2=count:1=after:0
                08-25 15:23:49.164: E/AAA(12812): ==onTextChanged==s:gh=start:2=before:1=count:0
                08-25 15:23:49.164: E/AAA(12812): ==afterTextChanged==s:gh
                08-25 15:23:49.694: E/AAA(12812): ==beforeTextChanged==s:gh=start:1=count:1=after:0
                08-25 15:23:49.694: E/AAA(12812): ==onTextChanged==s:g=start:1=before:1=count:0
                08-25 15:23:49.694: E/AAA(12812): ==afterTextChanged==s:g

             */
  • 相关阅读:
    音频player
    重要 sdl音最简
    sdl win 播放video hello--
    linux里helloworld
    0129 总结Cygwin要用这个,不要用mingw,根本下不下来
    转音视频重要
    Gradle项目无法下载jar包 修改 插件下载地址plugins.gradle.org

    开源gradle**all.zip下载慢问题
    [Effective Java] 第1条 考虑用静态工厂方法代替构造函数
  • 原文地址:https://www.cnblogs.com/muyuge/p/6152302.html
Copyright © 2011-2022 走看看