首页 > 代码库 > Android BaseAdapter ListView (明星简介列表)
Android BaseAdapter ListView (明星简介列表)
1、搭建布局
1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 android:layout_width="match_parent" 3 android:layout_height="match_parent" > 4 5 <ListView 6 android:id="@+id/lv" 7 android:layout_width="wrap_content" 8 android:layout_height="match_parent" /> 9 10 </RelativeLayout>
1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 android:layout_width="match_parent" 3 android:layout_height="match_parent" > 4 5 <ImageView 6 android:id="@+id/img" 7 android:layout_width="wrap_content" 8 android:layout_height="wrap_content" 9 android:src="@drawable/ic_launcher" /> 10 11 <LinearLayout 12 android:layout_width="wrap_content" 13 android:layout_height="wrap_content" 14 android:layout_margin="10dp" 15 android:layout_toRightOf="@id/img" 16 android:orientation="vertical" > 17 18 <TextView 19 android:id="@+id/name" 20 android:layout_width="wrap_content" 21 android:layout_height="wrap_content" 22 android:textSize="24sp" 23 android:text="名称" /> 24 25 <TextView 26 android:id="@+id/content" 27 android:layout_width="wrap_content" 28 android:layout_height="wrap_content" 29 android:layout_marginTop="10dp" 30 android:text="简介" /> 31 </LinearLayout> 32 33 </RelativeLayout>
2、建立一个明星类
1 public class SuperStar { 2 private int img; 3 private String name; 4 private String content; 5 6 public SuperStar(int img, String name, String content) { 7 super(); 8 this.img = img; 9 this.name = name; 10 this.content = content; 11 } 12 @Override 13 public String toString() { 14 return "SuperStar [ name=" + name + ", content=" + "]"; 15 } 16 public int getImg() { 17 return img; 18 } 19 public void setImg(int img) { 20 this.img = img; 21 } 22 public String getName() { 23 return name; 24 } 25 public void setName(String name) { 26 this.name = name; 27 } 28 public String getContent() { 29 return content; 30 } 31 public void setContent(String content) { 32 this.content = content; 33 } 34 35 36 }
3、设置适配器
1 public class MyBaseAdapter extends BaseAdapter{ 2 3 private Context context; 4 private List<SuperStar> list; 5 6 public MyBaseAdapter(Context context, List<SuperStar> list) { 7 this.context = context; 8 this.list = list; 9 } 10 11 @Override 12 public int getCount() { 13 return list.size(); 14 } 15 16 @Override 17 public Object getItem(int position) { 18 // TODO Auto-generated method stub 19 return null; 20 } 21 22 @Override 23 public long getItemId(int position) { 24 // TODO Auto-generated method stub 25 return 0; 26 } 27 28 @Override 29 public View getView(int position, View convertView, ViewGroup parent) { 30 ViewHolder viewHolder; 31 if(convertView == null){ 32 convertView = View.inflate(context, R.layout.item_star, null); 33 viewHolder = new ViewHolder(convertView); 34 convertView.setTag(viewHolder); 35 }else{ 36 viewHolder = (ViewHolder) convertView.getTag(); 37 } 38 39 //设置数据 40 viewHolder.img.setImageResource(list.get(position).getImg()); 41 viewHolder.name.setText(list.get(position).getName()); 42 viewHolder.content.setText(list.get(position).getContent()); 43 44 return convertView; 45 } 46 47 class ViewHolder{ 48 ImageView img; 49 TextView name; 50 TextView content; 51 52 public ViewHolder(View convertView) { 53 img = (ImageView) convertView.findViewById(R.id.img); 54 name = (TextView) convertView.findViewById(R.id.name); 55 content = (TextView) convertView.findViewById(R.id.content); 56 } 57 } 58 59 }
4、初始化数据
1 public class MainActivity extends Activity { 2 3 ListView lv; 4 5 // 数据源 6 String[] names = { "范冰冰", "杨幂", "张歆艺", "艾薇儿", "刘诗诗" }; 7 String[] contents = { "1981年9月16日生于山东青岛,华语影视女演员、歌手、制片人。毕业于上海师范大学谢晋影视艺术学院。", 8 "中国女演员、歌手、电视剧制片人,出生于北京。毕业于北京电影学院表演系。", 9 "中国内地女演员,出生于1981年5月29日,2005年毕业于中央戏剧学院表演系本科本。", 10 "1984年9月27日出生于加拿大安大略省,加拿大女歌手、词曲创作者、演员。", 11 "原名刘诗诗,中国内地影视女演员,出生于北京,毕业于北京舞蹈学院。" }; 12 13 int[] imgs = { R.drawable.fanbb, R.drawable.yangmi, R.drawable.zhangxinyi, 14 R.drawable.avril, R.drawable.liushishi }; 15 16 List<SuperStar> list = new ArrayList<SuperStar>(); 17 18 @Override 19 protected void onCreate(Bundle savedInstanceState) { 20 super.onCreate(savedInstanceState); 21 setContentView(R.layout.activity_main); 22 23 initView(); 24 lv = (ListView) findViewById(R.id.lv); 25 26 MyBaseAdapter adapter = new MyBaseAdapter(MainActivity.this, list); 27 lv.setAdapter(adapter); 28 } 29 30 private void initView() { 31 SuperStar fanbb = new SuperStar(R.drawable.fanbb, "范冰冰", "1981年9月16日生于山东青岛,华语影视女演员、歌手、制片人。毕业于上海师范大学谢晋影视艺术学院。"); 32 list.add(fanbb); 33 34 SuperStar yangmi = new SuperStar(R.drawable.yangmi,"杨幂", "中国女演员、歌手、电视剧制片人,出生于北京。毕业于北京电影学院表演系。"); 35 list.add(yangmi); 36 37 SuperStar zhangxinyi = new SuperStar(R.drawable.zhangxinyi, "张歆艺", "中国内地女演员,出生于1981年5月29日,2005年毕业于中央戏剧学院表演系本科本。"); 38 list.add(zhangxinyi); 39 40 SuperStar avril = new SuperStar(R.drawable.avril, "艾薇儿", "1984年9月27日出生于加拿大安大略省,加拿大女歌手、词曲创作者、演员。"); 41 list.add(avril); 42 43 SuperStar liushishi = new SuperStar(R.drawable.liushishi, "刘诗诗", "原名刘诗诗,中国内地影视女演员,出生于北京,毕业于北京舞蹈学院。"); 44 list.add(liushishi); 45 } 46 47 }
Android BaseAdapter ListView (明星简介列表)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。