Android中怎么通过自定义Adapter显示列表

今天就跟大家聊聊有关Android中怎么通过自定义Adapter显示列表,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

创新互联公司专注于企业营销型网站、网站重做改版、宜丰网站定制设计、自适应品牌网站建设、H5场景定制商城网站建设、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为宜丰等各大城市提供网站开发制作服务。

在res\layout目录下创建一个 activitylist.xml。内容如下:

Android中怎么通过自定义Adapter显示列表

这次我们不从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显示列表
分享地址:http://myzitong.com/article/jhehoh.html