Android BaseAdapter ListView (明星简介列表)
2024-10-16 22:55:48
1、搭建布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" > <ListView
android:id="@+id/lv"
android:layout_width="wrap_content"
android:layout_height="match_parent" /> </RelativeLayout>
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" > <ImageView
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher" /> <LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_toRightOf="@id/img"
android:orientation="vertical" > <TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24sp"
android:text="名称" /> <TextView
android:id="@+id/content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="简介" />
</LinearLayout> </RelativeLayout>
item_layout
2、建立一个明星类
public class SuperStar {
private int img;
private String name;
private String content; public SuperStar(int img, String name, String content) {
super();
this.img = img;
this.name = name;
this.content = content;
}
@Override
public String toString() {
return "SuperStar [ name=" + name + ", content=" + "]";
}
public int getImg() {
return img;
}
public void setImg(int img) {
this.img = img;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
} }
SuperStar.java
3、设置适配器
public class MyBaseAdapter extends BaseAdapter{ private Context context;
private List<SuperStar> list; public MyBaseAdapter(Context context, List<SuperStar> list) {
this.context = context;
this.list = list;
} @Override
public int getCount() {
return list.size();
} @Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
} @Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
} @Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if(convertView == null){
convertView = View.inflate(context, R.layout.item_star, null);
viewHolder = new ViewHolder(convertView);
convertView.setTag(viewHolder);
}else{
viewHolder = (ViewHolder) convertView.getTag();
} //设置数据
viewHolder.img.setImageResource(list.get(position).getImg());
viewHolder.name.setText(list.get(position).getName());
viewHolder.content.setText(list.get(position).getContent()); return convertView;
} class ViewHolder{
ImageView img;
TextView name;
TextView content; public ViewHolder(View convertView) {
img = (ImageView) convertView.findViewById(R.id.img);
name = (TextView) convertView.findViewById(R.id.name);
content = (TextView) convertView.findViewById(R.id.content);
}
} }
MyBaseAdapter
4、初始化数据
public class MainActivity extends Activity { ListView lv; // 数据源
String[] names = { "范冰冰", "杨幂", "张歆艺", "艾薇儿", "刘诗诗" };
String[] contents = { "1981年9月16日生于山东青岛,华语影视女演员、歌手、制片人。毕业于上海师范大学谢晋影视艺术学院。",
"中国女演员、歌手、电视剧制片人,出生于北京。毕业于北京电影学院表演系。",
"中国内地女演员,出生于1981年5月29日,2005年毕业于中央戏剧学院表演系本科本。",
"1984年9月27日出生于加拿大安大略省,加拿大女歌手、词曲创作者、演员。",
"原名刘诗诗,中国内地影视女演员,出生于北京,毕业于北京舞蹈学院。" }; int[] imgs = { R.drawable.fanbb, R.drawable.yangmi, R.drawable.zhangxinyi,
R.drawable.avril, R.drawable.liushishi }; List<SuperStar> list = new ArrayList<SuperStar>(); @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); initView();
lv = (ListView) findViewById(R.id.lv); MyBaseAdapter adapter = new MyBaseAdapter(MainActivity.this, list);
lv.setAdapter(adapter);
} private void initView() {
SuperStar fanbb = new SuperStar(R.drawable.fanbb, "范冰冰", "1981年9月16日生于山东青岛,华语影视女演员、歌手、制片人。毕业于上海师范大学谢晋影视艺术学院。");
list.add(fanbb); SuperStar yangmi = new SuperStar(R.drawable.yangmi,"杨幂", "中国女演员、歌手、电视剧制片人,出生于北京。毕业于北京电影学院表演系。");
list.add(yangmi); SuperStar zhangxinyi = new SuperStar(R.drawable.zhangxinyi, "张歆艺", "中国内地女演员,出生于1981年5月29日,2005年毕业于中央戏剧学院表演系本科本。");
list.add(zhangxinyi); SuperStar avril = new SuperStar(R.drawable.avril, "艾薇儿", "1984年9月27日出生于加拿大安大略省,加拿大女歌手、词曲创作者、演员。");
list.add(avril); SuperStar liushishi = new SuperStar(R.drawable.liushishi, "刘诗诗", "原名刘诗诗,中国内地影视女演员,出生于北京,毕业于北京舞蹈学院。");
list.add(liushishi);
} }
MainActivity.java
最新文章
- 谢欣伦 - OpenDev原创例程 - 时间同步Time Sync
- Yii框架(Yii Framework)部署
- visual studio 2013快捷键与2012不同
- Android中的单例模式
- 如何保持自己 fork 的项目和原始项目同步
- mysql中Access denied for user &#39;root&#39;@&#39;localhost&#39; (using password:YES)
- PHP7在linux下的安装步骤
- [unroll(num)] for(int i;i<;num;i++)
- TabbarItem超炫小动画
- 借鉴网上的winform模仿QQ窗口停靠功能稍作改动
- Contest 20140708 testB dp 组合数
- 使用ThinkPHP的扩展功能
- HashTable源码阅读
- 2009 Putnam Competition B3
- react实现多行文本超出加省略号
- 下载安装tomcat和jdk,配置运行环境,与Intellij idea 2017关联
- dict的items()方法于iteritems()方法的不同
- url的使用
- Windows网络命令
- java用正则方法验证文件名是否合法
热门文章
- (Excel导出失败)检索COM类工厂中CLSID为{00024500-0000-0000-C000-000000000046}的组件时失
- LINQ:使用Take和Skip实现分页
- 通知(Notification)的使用
- MySQL数据库中,使用游标循环遍历
- c#求slope线性回归斜率
- cas sso单点登录系列4_cas-server登录页面自定义修改过程(jsp页面修改)
- SCXML和QScxml使用总结
- springmvc问题汇总
- 字符串处理——strpos()函数
- Oracle归档日志定时删除任务