android spinner 自定义下拉,android Spinner自定义下拉框

Spinner下拉框在android中有2种绑定方式

1.通过在string.xml中配置 array 的item 去实现(缺点:下拉框中的内容是写死的)

北京

上海

广州

深圳

在布局文件中引用后可以看到效果

android:id="@+id/tab1_fragemt_spinner1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:entries="@array/city">

2.自定义数据源,获取网络数据显示到下拉框中

a.新增一个布局文件 spinner_custom_item.xml

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/spinner_custom_textView"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:paddingLeft="10dip"

android:paddingTop="10dip"

android:paddingRight="10dip"

android:text="TextView"

android:textColor="#444444"

android:textSize="20sp" />

b.自定义一个适配器类

/**

* 自定义适配器类

* @author jiangqq

*

*/

public class MyAdapter extends BaseAdapter {

private List mList; //List 中的 String 可以是对象,随意组合,此处演示用的是 Stirng

private Context mContext;

public MyAdapter(Context pContext, List pList) {

this.mContext = pContext;

this.mList = pList;

}

@Override

public int getCount() {

return mList.size();

}

@Override

public Object getItem(int position) {

return mList.get(position);

}

@Override

public long getItemId(int position) {

return position;

}

/**

* 下面是重要代码

*/

@Override

public View getView(int position, View convertView, ViewGroup parent) {

LayoutInflater _LayoutInflater=LayoutInflater.from(mContext);

convertView=_LayoutInflater.inflate(R.layout.spinner_custom_item, null);

if(convertView!=null)

{

TextView _TextView1=(TextView)convertView.findViewById(R.id.spinner_custom_textView);

_TextView1.setText(mList.get(position));

}

return convertView;

}

}

c.在activity方法中把数据放到适配器中就可以看到效果

Spinner spinner = (Spinner) findViewById(R.id.tab1_fragemt_spinner2);

List items = new ArrayList();

items.add("管理员");

items.add("会员");

items.add("游客");

MyAdapter adapter = new MyAdapter(context,items);

spinner.setAdapter(adapter);

下拉框显示的样式可以自己调整,好处多多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值