1、Spinner
老规矩,先设置布局文件:
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:prompt="@string/planet_prompt"
/>
在res/values/下面创建一个文件string.xml文件,文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="planet_prompt">Choose a planet</string>
<string-array name="planets_array">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
<item>Mars</item>
<item>Jupiter</item>
<item>Saturn</item>
<item>Uranus</item>
<item>Neptune</item>
</string-array>
</resources>
<string>标签里面的name属性,是作为Spinner的标题的。
<string-array>这个就不用解释了。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
}
下面需要创建一个内部类,这个内部类实现了接口AdapterView.OnItemSelectedListener
当某个选项被选择了之后,会给你的应用程序一个回调函数(callback).
请注意:下面这段代码是一个内部类,不是一个单独的类!!
public class MyOnItemSelectedListener implements OnItemSelectedListener {
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
Toast.makeText(parent.getContext(), "The planet is " +
parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView parent) {
// Do nothing.
}
}
2、ListView的使用:
注意:要使用ListView ,相应的Activity 要从ListActivity继承。
通常的Activity需要显示的话,我们是调用下面的代码:
setContentView(int);
但是使用ListView时不是这样的,按照下面这种方式:
setListAdapter(ListAdapter);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, COUNTRIES));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
Toast.LENGTH_SHORT).show();
}
});
}
我们可以把setListAdapter方法中的android.R.layout.simple_list_item_1换成自定义的:
在 res/layout/ 目录下见一个文件: list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="16sp" >
</TextView>
然后将android.R.layout.simple_list_item_1换成R.layout.list_item即可。
最后,定义COUNTRIES。
static final String[] COUNTRIES = new String[] {"China","France","England"};
上面的做法是将ListView里面需要显示的值放在数组中,这种硬编码的方式显然不是很好,下面采用另一种方式:
在res/values/下面新建一个文件:strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="countries_array">
<item>Bahrain</item>
<item>Bangladesh</item>
<item>Barbados</item>
<item>Belarus</item>
<item>Belgium</item>
<item>Belize</item>
<item>Benin</item>
</string-array>
</resources>
将相应地方的代码换成如下的代码:
String[] countries = getResources().getStringArray(R.array.countries_array);
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, countries));
分享到:
相关推荐
Android控件使用帮助文档
android控件spinner应用示例
一个可伸缩的控件,基于api17。里面有伸缩的动画,可以根据自己的需求增加不同的方法。
android api常用控件,系统函数大全,包括pdf与txt格式
集合很多Api列子 很适合新手学习哦 android Api列子 android例子代码演示 android例子
xamarin.android listview控件通过web api获取并展示数据
Android 4.0.3 (API Level 15) or later Getting Started Please type it in your build.gradle file. repositories { jcenter() } dependencies { compile 'moe.pine:percent_clip_view:0.1.2' } Usage You can...
Android最全的中文API. 每个控件的使用说明,使用例子.代码. 都提供了.很全的.
这是一个集成目前Android主流优秀第三方组件、优秀好用的自定义控件、实用工具类封装、以及一些APP共通模块(比如:版本更新、意见反馈、引导界面等等)的开发包,帮助程序员快速开发自己的APP 已集成第三方开源...
android ApiDemos 不报错版本,虚拟机和真机都可以完美运行,里面包含android所有的控件和优美的编码风格。对初中高级工程师很有帮助
Android2.2 API 中文文档,注意这里只有AccessibilityService控件的,请关注http://over140.cnblogs.com/的更新。
Android二维码扫描视图控件,直接继承View自定义,渲染效率高,视图不可见动画自动停止等优化处理,可支持边框和扫描线的定制,支持图片,颜色,xml资源等模式的绘制 API接口丰富,可控制扫描速度插值器,扫描时间,...
Android图片轮播控件 新框架发布,欢迎大家Star XFrame - Android快速开发框架 XFrame详细功能文档预览 现在的绝大数app都有banner界面,实现循环播放多个广告图片和手动滑动循环等功能。因为ViewPager并不支持...
Until version 1.0.0 the API is subject to change drastically. Needless to say, fcharts is not production ready. The goal of this project is to allow for creating beautiful, responsive charts using a ...
android API中文合集,是PDF形式的,共451页,里面主要包括android API文档,同时还有一些控件使用的具体说明和代码演示。
精仿iOS的PickerView控件,有时间选择和选项选择并支持一二三级联动效果——TimePickerView 时间选择器,支持年月日时分,年月日,年月,时分等格式——OptionsPickerView 选项选择器,支持一,二,三级选项选择,...
API功能控件,包含所有API函数,及相关调用过程。
第14章 Android综合案例三——基于Android的豆瓣网(Web2.0)移动客户端开发 14.1 关于豆瓣网和豆瓣网API 14.1.1 豆瓣网介绍 14.1.2 豆瓣网API介绍 14.1.3 豆瓣网API认证 14.1.4 豆瓣网API快速入门 14.1.5 豆瓣网API...
一个翻译的API,里面内容详细,基本常用的控件都会有Api的说明
android api demo,可以直观看到android控件功能 ,如何运用等,是学习android的好方式