android开发步步为营之41:spinner的用法
来源:互联网 发布:如何下载淘宝卖家版 编辑:程序博客网 时间:2024/05/29 18:33
Spinner就是html里面的select,下拉列表,比如国家,省份,城市列表,面额选项等等,这个也是使用的非常广泛的widget,我习惯叫控件,可能之前做Asp.net的缘故。这个没什么理论介绍,直奔主题,开始我们的范例。
第一步:设计页面spinner.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignLeft="@+id/spinner1" android:layout_marginTop="48dp" android:id="@+id/tvFruit" android:text="@string/fruit"></TextView>
<Spinner android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/tvFruit" android:layout_marginTop="19dp" android:id="@+id/spinnerFruit" android:layout_alignParentRight="true" android:layout_alignParentLeft="true"></Spinner>
</RelativeLayout>
使用系统自带的页面android.R.layout.simple_spinner_dropdown_item
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee" />
第二步:设计我们的数据源
res/values/array.xml里面添加
<string-array name="fruit">
<item>苹果</item>
<item>香蕉</item>
<item>橘子</item>
<item>椰子</item>
<item>柿子</item>
<item>红提</item>
<item>芒果</item>
<item>猕猴桃</item>
<item>水蜜桃</item>
<item>西瓜</item>
</string-array>
第三步:设计activity, SpinnerActivity.java
/**
*
*/
package Test.HelloWorld;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;
/**
* @author zhuzhifei
*
*/
public class SpinnerActivity extends Activity {
void showToast(CharSequence msg) {
Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//选择页面
setContentView(R.layout.spinner);
//找到spinner
Spinner myspinner = (Spinner) findViewById(R.id.spinnerFruit);
//组装适配器
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.fruit, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
myspinner.setAdapter(adapter);
//选中某个选项后,添加事件
myspinner.setOnItemSelectedListener(
new OnItemSelectedListener() {
public void onItemSelected(
AdapterView<?> parent, View view, int position, long id) {
showToast("您选择的水果是:" +((TextView)view).getText());
}
public void onNothingSelected(AdapterView<?> parent) {
showToast("您没有做任何选择");
}
});
}
}
第四步:AndroidManifest.xml菜单里面加入我们的activity
<activity android:name=".SpinnerActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
第五步:运行效果
- android开发步步为营之41:spinner的用法
- android开发步步为营之23:Spinner进阶绑定包含key和value的对象
- android开发步步为营之17:MideaPlayer的用法
- android开发步步为营之26:进度条对话框ProgressDialog的用法
- android开发步步为营之27:上下文菜单ContextMenu的用法
- android开发步步为营之29:选项菜单OptionsMenu的用法
- android开发步步为营之35:GridView的用法
- android开发步步为营之40:AsyncTask的用法
- android开发步步为营之63:webview常用用法
- android开发步步为营之31:TabActivity的用法Tab显示在底部
- Android之Spinner用法
- android 之spinner用法
- Android之Spinner用法
- Android之spinner控件的用法
- Android之Spinner的功能和用法
- Android开发之Spinner
- Android开发之Spinner
- android开发步步为营之18:闹钟AlarmManager的使用
- 【LeetCode】-Binary Tree Level Order Traversal
- js基础知识大总结
- C#中跨线程访问控件: 委托, Invoke, BeginInvoke
- Django + Python + MySQL 的开发与部署
- 微信模板的换行
- android开发步步为营之41:spinner的用法
- [iOS] Swift 初学手册:可选类型 (Optionals)
- Codeforces 449C Jzzhu and Apples(构造)
- iOS开发之异步加载图片
- 重写ScrollView实现两个ScrollView的同步滚动显示
- 关于html5和cocos2d-html5缓存问题及解决办法
- 我的Java开发学习之旅------>Java经典面试题
- 价值
- 习惯决定成功与否