原文自:http://android.eoe.cn/topic/ui
给AdapterView绑定数据
AdapterView是ViewGroup的一个子类,它决定view绑定什么类型的数据。AdapterView是非常有用的,只要你想把数据(不是资源文件夹里的Strings或者是drawables)显示在界面上你就会用到它。
Gallery,ListView,Spinner是AdapterVIew子类的实例,你可以给他们绑定特定类型的数据并以某一种方式显示这些数据。
AdapterView类有两方面的作用:
1 把数据填充到界面上
2 处理用户的选择
把数据填充到界面上
把数据显示在界面上通常的做法是把代码里获得的List的数据或者从数据库查询出来的结果集绑定到Adapter上。
比如:
1 创建一个Spinner,绑定数据到ArrayAdapter上
2 创建一个Spinner,绑定数据到SimpleCuisorAdapter上
代码:
// 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);
如果数据发生改变,你需要回调 notifyDataSetChanged(). 自动刷新View上的数据。
处理用户的选择
通过设置AdapterView.OnItemClickListener方法来处理用户的选择某一个位置的列表项
例如代码
// 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,"You've 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);
相关推荐
总的来说,Adapter是Android开发中的核心组件,理解和熟练使用Adapter能够帮助我们更好地构建用户界面,展示动态数据。无论是在ListView、GridView,还是RecyclerView中,Adapter都扮演着不可或缺的角色。通过适配...
Spinner是AdapterView的一个间接子类,因此它也使用Adapter来绑定数据。Spinner常用方法包括getItemAtPosition()用于获取选中项的位置和值,以及setOnItemSelectedListener()来监听选项被选中的事件。Spinner可以...
- AdapterView:结合Adapter使用,实现列表数据展示与交互。 5. **Intent与Activity间通信**: - 启动Activity:通过Intent启动新的Activity,实现界面跳转。 - 数据传递:Intent可以携带数据在Activity之间传递...
在Android开发中,Spinner是一个非常常见的控件,它通常用于实现下拉选择菜单的效果,能够为用户提供简洁的交互体验。本篇文章将详细讲解如何在Android中动态加载Spinner的内容,同时结合"源码"和"工具"这两个标签,...
### Android开发基础问题与解决办法 ...综上所述,通过这些知识点的学习,初学者可以掌握Android开发中常见的布局技巧、用户界面元素的使用方法以及简单的逻辑处理技巧。这对于搭建美观且功能完善的用户界面至关重要。
在Android开发领域,创建一个文件浏览器软件是一项常见的实践任务,对于初学者来说,这是一个极好的学习项目。这个软件能够帮助用户浏览、管理设备上的文件和目录,加深对Android系统文件操作的理解。以下将详细讲解...
在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。它具有滚动效果,可以高效地渲染和重用视图,节省内存资源。以下是一个关于如何在Android中使用ListView的简单事例: 第一步:新建`...
在Android开发中,AdapterView是诸如ListView、GridView和Spinner等组件的基础,它们用于展示列表或网格形式的数据。当这些AdapterView没有数据时,通常会显示一个空白的状态,告知用户当前列表为空。为了提供更好的...
这些实验覆盖了Android开发的核心知识点,通过实践操作,学生能够逐步建立起扎实的Android开发技能,为后续的复杂应用开发打下坚实基础。每个实验不仅是技术的学习,也是解决问题和逻辑思维能力的锻炼。
在Android开发中,控件是构建用户界面的基本元素,它们为用户提供与应用交互的方式。本示例主要关注几个常见的Android控件,包括TextView、ScrollView以及ListView,并简要提及GoogleMap的使用。以下是对这些控件...
在Android开发中,数据持久化是一项重要的任务, Realm是一个高效的对象关系映射(ORM)工具,它可以方便地处理SQLite数据库,提供了更现代化、更安全、更快速的解决方案。本项目"Android Realm+gridview gridviewItem...
在Android开发中,ListView是一种非常常见且重要的组件,它用于展示多行数据,通常用于创建列表形式的用户界面。在本教程中,我们将探讨如何将一个数组的数据绑定到ListView上,以便用户可以清晰地查看和交互这些...
在Android开发领域,Spinner是一个非常重要的控件,它允许用户从一组预定义的选项...这个“android开发大全”中的"使用Spinner实现下拉列表授课源码"将提供实际操作的示例,帮助开发者深入理解并熟练运用Spinner控件。
在本教程中,我们将深入探讨如何使用Java的JDBC(Java Database Connectivity)接口来从MySQL数据库中读取数据,并将这些数据动态地显示在Android应用的ListView组件上,同时利用SimpleAdapter进行数据绑定。...
在Android应用开发中,ListView是显示大量数据时非常重要的组件,尤其在手机界面设计中,由于屏幕尺寸有限,ListView能够有效地展示信息并提供良好的用户体验。本篇内容将深入讲解ListView及其核心概念Adapter。 ...
在Android开发中,ListView是展示大量数据的标准组件。通过自定义Adapter和处理点击事件,我们可以实现具有图片、标题和网址的列表,并在点击时更新主标题。同时,为了优化性能,需要注意视图的复用和高效地访问子...
在Android开发中,`AutoCompleteTextView` 是一个非常实用的组件,它提供了自动补全功能,用户在输入时可以根据已有的数据集得到建议的匹配项,极大地提升了输入效率和用户体验。这个组件通常用于搜索框或者地址输入...
在Android开发中,ListView是一个非常重要的组件,它用于展示大量数据集合,并且可以在用户滚动时高效地重用视图,从而提高性能。本教程将详细讲解ListView的基本使用以及如何建立数据源。 首先,我们来理解...
在 ListView 中,需要使用 Adapter 来绑定数据。可以自定义一个 Adapter,例如: ```java public class MyAdapter extends BaseAdapter { private Context mContext; private String[] titles; public ...
在Android开发中,下拉框(Spinner)是一种常用的控件,用于展示一组可选项供用户选择,它在很多场景下都很实用,比如日期...同时,这也是一次对数据绑定、事件监听、UI设计等多个Android开发关键知识点的综合实践。