4.乐学成语----------显示学习列表

来源:互联网 发布:网络直播泡沫 编辑:程序博客网 时间:2024/04/30 09:15

1.在entity包下新建类Cateegory,代码如下:

public class Category {    private String name;//类别名称    private int imageId;//类别对应的图片    public Category(String name,int imageId){    super();    this.name=name;    this.imageId=imageId;    }    public String getName(){    return name;    }    public int getImageId(){return imageId;        }}
2.在layout类中新建activity_study.xml文件,主要添加了一个ListView控件,代码如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    android:background="@drawable/bg_ling"    tools:context=".StudyActivity">   <ListView        android:id="@+id/lvCategories"       android:layout_width="match_parent"       android:layout_height="wrap_content"       android:listSelector="#00000000"        android:layoutAnimation="@anim/anim_layout_listview"       android:layout_alignParentLeft="true"       android:layout_alignParentTop="true">       </ListView></RelativeLayout>
3.在layout目录下新建category_item.xml,代码如下:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:padding="10dp"    android:orientation="horizontal" >    <ImageView        android:id="@+id/category_image"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@drawable/category_animal"/>   <TextView        android:id="@+id/category_name"       android:layout_width="match_parent"       android:layout_height="wrap_content"       android:text="animal"       android:gravity="center"       android:textAppearance="?android:attr/textAppearanceLarge"/></LinearLayout>
4.新建类CategoryAdapter,代码如下:

public class CategoryAdapter extends ArrayAdapter<Category>{   private int resourceld;public CategoryAdapter(Context context, int resource,List<Category> objects) {super(context, resource, objects);// TODO Auto-generated constructor stub      resourceld=resource;}   /*    * 我们可以在getView()中进行判断,如果convertView为空,则使用LayoutInflater    * 去加载布局,如果不为空则直接对convertView进行重用。    */public View getView(int position,View convertView,ViewGroup parent){Category category=getItem(position);//获取当前项的Category实例    View view;    ViewHolder viewHolder;    if(convertView==null){    view = LayoutInflater.from(getContext()).inflate(resourceld,null);    viewHolder = new ViewHolder();    viewHolder.categoryImage=(ImageView)view.findViewById(R.id.category_image);        viewHolder.categoryName=(TextView)view.findViewById(R.id.category_name);        view.setTag(viewHolder);    }else{    view=convertView;    viewHolder=(ViewHolder)view.getTag();//重新获取ViewHolder        }    viewHolder.categoryImage.setImageResource(category.getImageId());    viewHolder.categoryName.setText(category.getName());    return view;}       class ViewHolder{       ImageView categoryImage;       TextView categoryName;       }/*ImageView categoryImage=(ImageView)view.findViewById(R.id.category_image);TextView categoryName=(TextView)view.findViewById(R.id.category_name);categoryImage.setImageResource(category.getImageId());categoryName.setText(category.getName());return view;*/}
5.在activity包下新建StudyActivity继承自Activity,代码如下:

public class CategoryAdapter extends ArrayAdapter<Category>{   private int resourceld;public CategoryAdapter(Context context, int resource,List<Category> objects) {super(context, resource, objects);// TODO Auto-generated constructor stub      resourceld=resource;}   /*    * 我们可以在getView()中进行判断,如果convertView为空,则使用LayoutInflater    * 去加载布局,如果不为空则直接对convertView进行重用。    */public View getView(int position,View convertView,ViewGroup parent){Category category=getItem(position);//获取当前项的Category实例    View view;    ViewHolder viewHolder;    if(convertView==null){    view = LayoutInflater.from(getContext()).inflate(resourceld,null);    viewHolder = new ViewHolder();    viewHolder.categoryImage=(ImageView)view.findViewById(R.id.category_image);        viewHolder.categoryName=(TextView)view.findViewById(R.id.category_name);        view.setTag(viewHolder);    }else{    view=convertView;    viewHolder=(ViewHolder)view.getTag();//重新获取ViewHolder        }    viewHolder.categoryImage.setImageResource(category.getImageId());    viewHolder.categoryName.setText(category.getName());    return view;}       class ViewHolder{       ImageView categoryImage;       TextView categoryName;       }/*ImageView categoryImage=(ImageView)view.findViewById(R.id.category_image);TextView categoryName=(TextView)view.findViewById(R.id.category_name);categoryImage.setImageResource(category.getImageId());categoryName.setText(category.getName());return view;*/}
结果图如下:





0 0