Spinner的运用
来源:互联网 发布:局域网怎样破解mac上网 编辑:程序博客网 时间:2024/04/30 20:19
我虽然有点懒,但是想把碎知识整理下以免自己以后给忘了。也希望给初学者提供写帮助。
由于这是本人闲着手写的, 可能有些不规范,请见谅。
Spinner
1.spinner
1.Xml 布局:
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
2.在Strings中声明一个数组
<string-array name="spinner_array">
<item>小明</item>
<item>小花</item>
<item>小草</item>
</string-array>
3.创建一个ArrayAdapter的步骤
//通过createFromResource创建一个Arrayadpter
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(context,R.array.spinner_array,R.android.layout.simple_spinner_item);//当然
R.android.simple_spinner_item这个样式也可以自定义 例如:R.layout.spinner_item
adapter.setDropDownResource(R.android.layout.simple_spinner_dropdown_item);
4.创建一个Spinner的步骤
Spinner spinner = context.findViewById(R.id.spinner);
spinner.setAdapter(adapter);
spinner.setPrompt("人名");//设置 Spinner的默认显示item
5.给Spinner绑定监听
spinner.setOnSelectedItemListener(new OnItemSelectedListener(){
@Override
public void onItemSelectd(AdapterView<?> adapterView,View view,int position,long id){
//第一个参数 被选中的目录 第二个参数被选中的条目得View 第三个参数 被选中的条目的位置 第四个参数 被选中的条目的id
adapterView.getItemAtPosition(position).toString();//获得当前被选中的Item上的Value
}
@Override
public void OnNothingSelectd(AdapterView<?> parent){//当没有任何条目被选中时
}
});
R.layout.spinner_item
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:textColor="@color/positionMsg_textcolor"
android:id="@+id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/White"
android:layout_marginBottom="2dp"
android:padding="5dip">
</TextView>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:textColor="@color/positionMsg_textcolor"
android:id="@+id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/White"
android:layout_marginBottom="2dp"
android:padding="5dip">
</TextView>
以上整体看来是在Spinner的数据来源都是Strings中的静态数据,若是向Spinner中注入动态数据 例如:一个list集合
有两种方法;
1.ArrayAdapter
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(context,R.layout.spinner_item,R.id.text1,list)
2.那便自定义一个Adapter继承BaseAdpter
Public class MyAdapter extends BaseAdapter{
private List<Object> list;
Context context;
public MyAdapter(List<Object> list,Context context ){
this.list = list;
this.context = context;
}
@Override
public void getCount(){
return list != null?list.size:0;
}
@Override
public Object getItem(int position){
retuen list.get(position);
};
@Override
public long getItemId(){
return position;
}
@Override
public void getView(int position,View convertview,ViewGroup parent){
ViewHolder holder = null;
if(covertview!=null){
holder = new ViewHolder();
covertview = LayoutInflater.from(context).inflater(R.layout.spinner_item);
holder.tv_name = convertview.findViewById(R.id.text1);
}else {
holder = (ViewHolder)convert.getTag();
}
holder.tv_name.setText(getItem(position).getXXX());
}
Private class ViewHolder{
TextView tv_name;
}
}
1 0
- 简单的Spinner运用
- Spinner的运用
- Android中的Spinner的运用。
- Android中Spinner的运用
- 运用spinner和正则表达式pattern来实现文字中表情文字的替换
- (Spinner) android中Spinner的使用
- Spinner 的使用
- android的spinner
- Spinner的常用技巧
- Spinner控件的使用
- extjs 的 spinner 组件
- Spinner的详解
- 自定义Android的Spinner
- Spinner 的用法
- 自定义Android的Spinner
- Spinner的使用
- Spinner的使用
- 自定义Android的Spinner
- 将NSString转换成UTF8编码的NSString
- Alfred工具使用<1>
- UVALive 3353 Optimal Bus Route Design 求图中不相交的哈密顿路的最小和
- 修改Tomcat服务器Server Locations
- 二维码生成
- Spinner的运用
- Ubuntu下安装Matlab
- C#操作SQL Server数据库
- iOS零散笔记
- ftp
- opengl 画三角形 程序
- DirectX11 深度模板视图(depth-stencil)
- Jetty9.3 翻译
- 正表达式1