我想你已经完成了第一步。对我来说,如果您可以可视化并绘制出您想要的内容,那么下一步就是首先深入研究代码。你会学到,只是不要害怕先做一些互联网搜索。
首先,我总是建议新的 Android 开发人员查看 Android 生命周期,以了解在哪里发生了什么。对于您的应用程序,您应该了解 anActivity
是什么,以及onCreate()
. 阅读并尝试掌握 Android Activity是什么。
接下来,您应该看看如何使用Android 布局。这将帮助您在屏幕上放置一些东西。默认情况下,当您在 Eclipse 中创建新的 Android 应用程序时,会生成一个基本的 layout.xml 文件。将其用作将输入控件拖放到屏幕上的基本框架。您正在寻找的特定“下拉”功能可以在Spinner控件中找到。
一旦你Spinner
的屏幕上有一个,你就可以通过创建一个Array
你将分配给一个的值来填充它ArrayAdapter
。然后,它ArrayAdapter
直接与Spinner
填充它相关联。
使用 Android Developers 站点,它非常有用。他们在 SDK 中也有教程和示例代码。
这个答案应该有很多术语、链接和方向供您入门。
更新:
我想扩展我的答案以更具体,但我认为我需要更多信息。例如,您是否从任何特定的地方(即设备本身?)提取这些名称。无论如何,名称必须以某种数组的形式放置,要么 aString Array
要么 an ArrayList
。这只是因为这就是ArrayAdapters
工作ArrayAdapters
方式以及填充Spinner
对象的方式。所以我想我想说的是,无论你如何得到你的名字,你都必须将它们组织成某种类型的数组才能将它们放入Spinner
(当然,如果你想保持简单的话)。
现在,一旦您将名称放入数组中并且您可以单击Spinner
以显示所有名称,您现在想要触发一个事件,该事件将您想要显示在其下方的数据拉出。我建议以 2 种方式中的 1 种方式执行此操作。您可以从您的姓名中选择一个名称Spinner
,然后点击一个按钮来开始搜索您想要显示的其他信息。如果您从网络资源中提取名称上的数据,这将是一个更好的解决方案。如果您要提取与从实际设备(您配置的 SQLite DB 或 Android 系统 DB)中选择的名称关联的数据,我会onSelectionChanged
在您的Spinner
. 您可以通过使用类似于此答案的内容来做到这一点:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Spinner spinner = (Spinner)findViewById(R.id.mySpinner);
// create your arrayadapter of names and then set it to your spinner
// then add a lister to look for a change
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
// update your view with the information for the selected user
}
@Override
public void onNothingSelected(AdapterView<?> parentView) {
// do something
}
});
}
一旦您可以在微调器中注册更改,您就可以启动查询以确定要显示的信息。如果您使用与名称关联的所有信息创建自定义数据库,则必须创建自己的数据库处理程序。如果从网络资源中提取信息,请确保将网络操作放在后台线程或AsyncTask中。如果您要从 Android 设备(联系人记录或其他内容)中提取信息,只需使用 Android 的内置函数、库和 API。我会尝试将所有内容都本地化,而不必依赖网络连接。
获得所有信息后,您可以动态创建布局并将它们添加到当前视图中,或者您可以只拥有一个偶尔更改并显示和隐藏的布局。这两种解决方案都是完全合理的,我不认为其中一种一定比另一种更好。我曾经喜欢让对象不可见并在需要时显示它们,但是当我需要它们时,我开始以编程方式动态创建布局。不过,这对于新的 Android 开发人员来说似乎有点困难,所以如果您有粗略的 if/else 语句来显示和隐藏 XML 布局,请不要感到难过。
无论如何,希望所有这些都有帮助!欢迎来到安卓!