本文小编为大家详细介绍“Android中如何通过自定义Adapter显示列表”,内容详细,步骤清晰,细节处理妥当,希望这篇“Android中如何通过自定义Adapter显示列表”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
创新互联公司专注于都昌网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供都昌营销型网站建设,都昌网站制作、都昌网页设计、都昌网站官网定制、重庆小程序开发公司服务,打造都昌网络公司原创品牌,更为您提供都昌网站排名全网营销落地服务。
在res\layout目录下创建一个 activitylist.xml。内容如下:
这次我们不从AndroidManifest.xml中读取Activity列表,而是使用String Array资源。在res\value\string.xml 中添加下列Array资源:
- Bezier
- Brush
- Colors
- Font
- Image
- Path
- Pen
- Shape
- Transform
- Bezier
- Pattern ,Gradients
- Colors
- FontDemo, FontTypes
- DrawMap, JumbleImage, SeeThroughImage
- Polys, Paths
- Lines, Dashes, LineCap,LineJoin
- Oval ,Pear ,Shape2DDemo
- Transform
定义了这些资源后,可以在程序中使用自定义Adapter来显示列表:
class ActivityInfo{ int iconIndex; String activityName; String activityInfo; } class ActivityInfoAdapter extends ArrayAdapter{ int resource; public ActivityInfoAdapter(Context context, int resourceId, List 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 activityInfos =new ArrayList (); 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 类ActivityInfo定义列表每个元素的Data Model,为Activity的Icon资源ID,Activity Name以及Activity Info.
类ActivityInfoAdapter为自定义Adapter,关键的是public View getView(int position,View ConvertView,ViewGroup parent)。这个函数返回用来显示没个类别元素的View的示例。例子中为activitylist.xml 对应的Layout。
读到这里,这篇“Android中如何通过自定义Adapter显示列表”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注创新互联行业资讯频道。
文章题目:Android中如何通过自定义Adapter显示列表
分享URL:http://cdweb.net/article/ihgjge.html