本文小編為大家詳細(xì)介紹“Android中如何通過自定義Adapter顯示列表”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Android中如何通過自定義Adapter顯示列表”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
創(chuàng)新互聯(lián)公司專注于都昌網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供都昌營銷型網(wǎng)站建設(shè),都昌網(wǎng)站制作、都昌網(wǎng)頁設(shè)計、都昌網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)公司服務(wù),打造都昌網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供都昌網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
在res\layout目錄下創(chuàng)建一個 activitylist.xml。內(nèi)容如下:
這次我們不從AndroidManifest.xml中讀取Activity列表,而是使用String Array資源。在res\value\string.xml 中添加下列Array資源:
<string-array name=”activity_name”> <item>Bezier</item> <item>Brush</item> <item>Colors</item> <item>Font</item> <item>Image</item> <item>Path</item> <item>Pen</item> <item>Shape</item> <item>Transform</item> </string-array> <string-array name=”activity_info”> <item>Bezier</item> <item>Pattern ,Gradients</item> <item>Colors</item> <item>FontDemo, FontTypes</item> <item>DrawMap, JumbleImage, SeeThroughImage</item> <item>Polys, Paths</item> <item>Lines, Dashes, LineCap,LineJoin</item> <item>Oval ,Pear ,Shape2DDemo</item> <item>Transform</item> </string-array>
定義了這些資源后,可以在程序中使用自定義Adapter來顯示列表:
class ActivityInfo{ int iconIndex; String activityName; String activityInfo; } class ActivityInfoAdapter extends ArrayAdapter<ActivityInfo>{ int resource; public ActivityInfoAdapter(Context context, int resourceId, List<ActivityInfo> objects) { super(context, resourceId, objects); resource=resourceId; } @Override public View getView(int position,View ConvertView,ViewGroup parent){ LinearLayout activityInfoView; ActivityInfo activityInfo=getItem(position); String activity_Name=activityInfo.activityName; String activity_Info=activityInfo.activityInfo; int iconIndex=activityInfo.iconIndex; if(ConvertView==null){ activityInfoView=new LinearLayout(getContext()); String inflater=Context.LAYOUT_INFLATER_SERVICE; LayoutInflater vi; vi=(LayoutInflater)getContext().getSystemService(inflater); vi.inflate(resource, activityInfoView,true); }else{ activityInfoView=(LinearLayout)ConvertView; } TextView activity_NameView =(TextView)activityInfoView.findViewById(R.id.activityName); TextView activity_InfoView =(TextView)activityInfoView.findViewById(R.id.activityInfo); ImageView iconView =(ImageView)activityInfoView.findViewById(R.id.iconImage); activity_NameView.setText(activity_Name); activity_InfoView.setText(activity_Info); iconView.setImageResource(iconIndex); return activityInfoView; } } public class AndroidGraphics2DTutorial extends ListActivity { private ArrayList<ActivityInfo> activityInfos =new ArrayList<ActivityInfo>(); private ActivityInfoAdapter aa; private final static String packgeName="com.pstreets.graphics2d"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Resources res = getResources(); String[] activity_Names = res.getStringArray(R.array.activity_name); String[] activity_Infos = res.getStringArray(R.array.activity_info); for(int i=0;i<activity_Names.length;i++){ ActivityInfo activityInfo=new ActivityInfo(); activityInfo.activityName=activity_Names[i]; activityInfo.activityInfo=activity_Infos[i]; activityInfo.iconIndex=R.drawable.icon1+i; activityInfos.add(activityInfo); } aa=new ActivityInfoAdapter(this,R.layout.activitylist,activityInfos); setListAdapter(aa); } @Override protected void onListItemClick(ListView l, View v, int position, long id) { ActivityInfo activityInfo = (ActivityInfo) l.getItemAtPosition(position); Intent intent = new Intent(); intent.setClassName(this, packgeName+".example." +activityInfo.activityName); startActivity(intent); } }
類ActivityInfo定義列表每個元素的Data Model,為Activity的Icon資源ID,Activity Name以及Activity Info.
類ActivityInfoAdapter為自定義Adapter,關(guān)鍵的是public View getView(int position,View ConvertView,ViewGroup parent)。這個函數(shù)返回用來顯示沒個類別元素的View的示例。例子中為activitylist.xml 對應(yīng)的Layout。
讀到這里,這篇“Android中如何通過自定義Adapter顯示列表”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站名稱:Android中如何通過自定義Adapter顯示列表
本文鏈接:http://chinadenli.net/article14/ihgjge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站改版、網(wǎng)站設(shè)計公司、網(wǎng)站設(shè)計、面包屑導(dǎo)航、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)