ZNDS智能电视网 推荐当贝市场

TV应用下载 / 资源分享区

软件下载 | 游戏 | 讨论 | 电视计算器

综合交流 / 评测 / 活动区

交流区 | 测硬件 | 网站活动 | Z币中心

新手入门 / 进阶 / 社区互助

新手 | 你问我答 | 免费刷机救砖 | ROM固件

查看: 17169|回复: 0
上一主题 下一主题
[教程]

《Android Dev Guide》系列教程18:通过适配器给AdapterView绑定数

[复制链接]
跳转到指定楼层
楼主
发表于 2013-8-28 16:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
>
AdapterView是ViewGroup的一个子类,由一个适配器,和绑定到适配器的某些类型的数据组合而成。当你需要显示一些存储的数据时,AdapterView是非常有用的。
Gallery、ListView和Spinner便是AdapterView的例子,他们可以让你使用一些特殊格式的数据并且用一种特定的方式来显示这些数据。
ApapterView对象有两个主要职责:
@ 用数据来填充视图
@ 处理用户的操作事件
把数据插入到视图里,通常是由绑定适配器的AdapterView类来完成的,通常是从一些额外的存储中获得的数据,比如代码来提供或者从设备的数据库中查询的结果集。例如下面的代码:
1-使用一个已存在的View建立一个Spinner,然后绑定一个ArrayAdapter类来从本地资源里读取颜色列表。
2-建立另一个Spinner对象,绑定到一个SimpleCursorAdapter类,然后从手机的联系人列表读取联系人的名字。
   
   
  1. // Get a Spinner and bind it to an ArrayAdapter that      
    // references a String array.     
    Spinner s1 = (Spinner) findViewById(R.id.spinner1);     
    ArrayAdapter adapter = ArrayAdapter.createFromResource(     
        this, R.array.colors, android.R.layout.simple_spinner_item);     
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);     
    s1.setAdapter(adapter);     
    // Load a Spinner and bind it to a data query.     
    private static String[] PROJECTION = new String[] {     
            People._ID, People.NAME     
        };     
    Spinner s2 = (Spinner) findViewById(R.id.spinner2);     
    Cursor cur = managedQuery(People.CONTENT_URI, PROJECTION, null, null);     
             
    SimpleCursorAdapter adapter2 = new SimpleCursorAdapter(this,     
        android.R.layout.simple_spinner_item, // Use a template     
                                              // that displays a     
                                              // text view     
        cur, // Give the cursor to the list adapter     
        new String[] {People.NAME}, // Map the NAME column in the     
                                             // people database to...     
        new int[] {android.R.id.text1}); // The "text1" view defined in     
                                         // the XML template     
                                                 
    adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);     
    s2.setAdapter(adapter2);  
复制代码
注意:在PROJECTION字段中,你必须有一个People._ID列,否则会抛出一个异常。如果期间你修改了数据,那么需要调用一下notifyDataSetChanged()方法。这样视图便会做出相应更新。
通过实现AdapterView.onItemClickListener监听器类,来获取用户的选择。   
  1. // Create a message handling object as an anonymous class.     
    private OnItemClickListener mMessageClickedHandler = new OnItemClickListener() {     
        public void onItemClick(AdapterView parent, View v, int position, long id)     
        {     
            // Display a messagebox.     
            Toast.makeText(mContext,"Youve got an event",Toast.LENGTH_SHORT).show();     
        }     
    };     
    // Now hook into our object and set its onItemClickListener member     
    // to our class handler object.     
    mHistoryView = (ListView)findViewById(R.id.history);     
    mHistoryView.setOnItemClickListener(mMessageClickedHandler);  
复制代码
  
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

上一篇:《Android Dev Guide》系列教程
下一篇:《Android Dev Guide》系列教程16:用户通知(3)创建状态栏通知
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

Archiver|新帖|标签|软件|Sitemap|ZNDS智能电视网 ( 苏ICP备2023012627号 )

网络信息服务信用承诺书 | 增值电信业务经营许可证:苏B2-20221768 丨 苏公网安备 32011402011373号

GMT+8, 2025-7-27 09:22 , Processed in 0.054148 second(s), 15 queries , Redis On.

Powered by Discuz!

监督举报:report#znds.com (请将#替换为@)

© 2007-2025 ZNDS.Com

快速回复 返回顶部 返回列表