Android中如何通过自定义Adapter显示列表-创新互联

本文小编为大家详细介绍“Android中如何通过自定义Adapter显示列表”,内容详细,步骤清晰,细节处理妥当,希望这篇“Android中如何通过自定义Adapter显示列表”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

成都创新互联公司于2013年创立,是专业互联网技术服务公司,拥有项目成都网站建设、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元绍兴做网站,已为上家服务,为绍兴各地企业和个人服务,联系电话:18980820575

在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/cdegcp.html