6.2.1 使用光标填充Spinner(1)
下面的示例显示了将光标绑定到简单Spinner的过程。虽然这是一个很老套的示例,但是如果想对如何使用ICursor接口有一个基本的了解,那么该示例还是非常重要的。在撰写本书的时候,关于Android中Spinner和Cursor(Mono for Android中的ICursor)方面的文档并不是很完整,所以希望本节可以弥补这方面的空缺。
假设现在要求你创建一个允许用户查看设备中当前所有书签的应用程序。该应用程序必须列出该用户的所有书签,并且允许他从列表中选择一个书签。在仔细考虑了该任务之后,你可能会尝试使用下面所示的步骤来实现该应用程序:
(1) 使用浏览器内容提供器来查询书签。通过该内容提供器,你可以访问设备的浏览器设置,比如历史信息以及书签。
(2) 向活动添加一个Spinner控件,以便列出设备的书签。可以通过SpinnerAdapter将浏览器查询数据链接到Spinner控件,从而列出设备的书签。
1. 建立Spinner和数据源
可以通过完成下面所示的步骤来建立该过程:
(1) 创建一个名为SpinnerExample的新Mono for Android项目。并将其标签重命名为默认活动Spinner Example。同时,将类名由通用的Activity1改为SpinnerExample也不失为一个好主意。
(2) 接下来在Main布局中为Spinner控件添加标记。在Layout目录中打开Main.axml文件,并为Spinner控件添加标记。同时也可以添加用来描述Spinner控件用途的TextView。程序清单6-1显示了Main.axml文件的相关内容。
程序清单6-1 向Main.axml布局添加一个Spinner<?xmlversion ="1.0"encoding="utf-8"?>
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Welcome to the Spinner Example! Please select a
bookmark!"/>
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
Databinding_SpinnerCursor\Databinding_Cursor\Resources\Layout\Resources\Layout\Main.axml
(3) 打开刚才重命名的SpinnerExample默认活动类。在该类中添加一个名为CreateSpinner()的方法。而在该方法中实现对Spinner进行数据绑定所需的操作。目前暂时保持该方法的内容为空。在创建完项目后,我们将重点介绍如何向该方法中添加合适的逻辑。
(4) 现在,在活动的OnCreate()事件中添加对新创建的CreateSpinner()方法的调用。当完成该操作后,所添加的代码应该如程序清单6-2所示。可以看到,一旦触发了活动的OnCreate()事件,将会创建Spinner,并进行数据绑定。
程序清单6-2 构建spinner create方法protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
CreateSpinner();
}
public void CreateSpinner()
{
//TODO: Add implementation code...
}
Databinding_SpinnerCursor\Databinding_Cursor\SpinnerSample.cs
【责任编辑:book TEL:(010)68476606】
点赞 0