android 自定义spnner弹出框,学习Android自定义Spinner适配器

本文为大家分享Android自定义Spinner适配器的相关知识点,供大家参考,具体内容如下

一、大致效果

c65bf95cec373ecd5c0cb64672190453.png

二.关键代码

在注释中讲重点吧。

(1)Spinner的布局: car_brand_spinner.xml

即为弹出来的下拉列表的布局啦,后面的那个布局就不拿出来丢人现眼了,反正知道有一个Spinner的id为carBrandSpinner就可以了。

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:orientation="horizontal">

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_margin="10dp">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="New Text"

android:id="@+id/car_brand_name"

android:layout_gravity="left"

android:layout_alignParentLeft="true"

android:layout_marginTop="5dp"

android:layout_marginBottom="5dp" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/car_brand_flag"

android:layout_gravity="right"

android:layout_alignParentRight="true" />

(2)适配器

ArrayAdapter carBrandAdapter=new ArrayAdapter

(

AddCarActivity.this,

android.R.layout.simple_spinner_dropdown_item,

carBrandNameList//是String[],就是所有要显示的brandName

){

@Override

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

convertView = View.inflate(AddCarActivity.this,R.layout.car_brand_spinner,null);//获得Spinner布局View

if(convertView!=null)

{

TextView carBrandNameView = (TextView)convertView.findViewById(R.id.car_brand_name);

ImageView carBrandFlagView = (ImageView)convertView.findViewById(R.id.car_brand_flag);

try

{

JSONObject json = new JSONObject(carBrandList.get(position).get("carBrand").toString());

carBrandNameView.setText(json.getString("carBrandName"));//设置数据,我这里的数据是从服务器读出来的,所以前面有一个转化取值的过程

}catch (Exception e){}

Bitmap bitmap =Common.String2Bitmap(carBrandList.get(position).get("carBrandFlagContent").toString());//这里也一样,图片数据来自于服务器,同时有一个将数据从String转Bitmap的过程

if(bitmap!=null)

carBrandFlagView.setImageBitmap(bitmap);//显示图片

}

return convertView;

}

};

//给Spinner set适配器

Spinner carBrandSpinner=(Spinner)findViewById(R.id.carBrandSpinner);

carBrandSpinner.setAdapter(carBrandAdapter);

carBrandSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()

{

@Override//重写Item被选择的事件

public void onItemSelected(AdapterView> parent, View view, int position, long id) {}

@Override

public void onNothingSelected(AdapterView> parent) {}

});

到此结束!

以上就是关于Android Spinner适配器的全部内容,希望对大家的学习有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值