都只介紹一些比較基本的應用,如果有想更深入了解的人可以參考官網上面的介紹
ArrayAdapter上面有很完整的說明,謝謝。
我拿ArrayAdapter來橋接Spinner(下拉選單)做為介紹
直接帶入陣列當資料
//定義adapter為ArrayAdapter
ArrayAdapter<String> adapter ;
//建立陣列
private String[] type = new String[] {"茶類", "果汁類"};
//物件化
android.widget.ArrayAdapter.ArrayAdapter<string>(Context context, int textViewResourceId, String[] objects)
//上面是原式,textViewResourceId是下拉選單的樣式
adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, type);
//設定下拉選單點選後出現選單的樣式,使用的是內建預設樣式
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//下拉選單
private Spinner sp;
sp = (Spinner) findViewById(R.id.type);
sp.setAdapter(adapter);
重點:
可能你會發現ArrayAdapter在物件化時,有一個樣式textViewResourceId,
然後setDropDownViewResource又再設定一個樣式,為什麼呢?
因為textViewResourceId指的是下拉選單還未點選時的下拉選單樣式
而setDropDownViewResource設定的是點選下拉選單後跳出選單的樣式
這兩者是不一樣的,這樣說各位應該還是一頭霧水,我用圖片說明好了
new物件時樣式用simple_spinner_item
new物件時樣式用simple_spinner_dropdown_item
setDropDownViewResource物件時樣式用simple_spinner_item
setDropDownViewResource物件時樣式用simple_spinner_dropdown_item
有看清楚了嗎?new物件時textViewResourceId的樣式設定指的是下拉選單出現時的樣式
setDropDownViewResource指的是彈出下拉選單時,出現列表的樣式,此兩者是不同的
當然這兩者也都能使用自定義的佈局XML,只要自己新增一個XML,然後就能在textViewResourceId或setDropDownViewResource裡面選取,選單內的樣式也會跟著改變
以上是為你做ArrayAdapter的簡單介紹,謝謝。




沒有留言:
張貼留言
您的寶貴建議是我前進的動力!