編輯:Android開發實例
本文為大家分享Android自定義Spinner適配器的相關知識點,供大家參考,具體內容如下
一、大致效果

二.關鍵代碼
在注釋中講重點吧。
(1)Spinner的布局: car_brand_spinner.xml
即為彈出來的下拉列表的布局啦,後面的那個布局就不拿出來丟人現眼了,反正知道有一個Spinner的id為carBrandSpinner就可以了。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp">
<TextView
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" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/car_brand_flag"
android:layout_gravity="right"
android:layout_alignParentRight="true" />
</RelativeLayout>
</LinearLayout>
(2)適配器
ArrayAdapter carBrandAdapter=new ArrayAdapter<String>
(
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適配器的全部內容,希望對大家的學習有所幫助。
Android中Matrix用法實例分析
本文實例講述了Android中Matrix用法。分享給大家供大家參考,具體如下: Matrix ,中文裡叫矩陣,高等數學裡有介紹,在圖像處理方面,主要是用於平面的
Android自定義格式顯示Button的布局思路
先把來源貼上 http://zrgiu.com/blog/2011/01/making-your-android-app-look-better/http://w
Android筆記之:App模塊化及工程擴展的應用
1.需求 無論是在.net還是java平台,合理的分層架構是最普遍的模塊化思路之一。 dl
Android中Notification用法實例總結
本文實例總結了 Android中Notification用法。分享給大家供大家參考,具體如下: 我們在用手機的時候,如果來了短信,而我們沒有點擊查看的話,是不是在