Android BaseAdapter ListView (明星简介列表)

Android  BaseAdapter  ListView  (明星简介列表)

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

上一篇:NOIp2016 Day1&Day2 解题报告


下一篇:iOS 原生二维码扫描,带扫描框和扫描过程动画