都只介紹一些比較基本的應用,如果有想更深入了解的人可以參考官網上面的介紹
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的簡單介紹,謝謝。
沒有留言:
張貼留言
您的寶貴建議是我前進的動力!