关于listview和adapter的作业

老师要求我们完成个人信息的列表,此时需要运用到Listview和Adapter来完成此项布局的显示,第一部分代码如下:


第二部分就要做出第一个人的信息布局,其他人的信息复制第一个人的即可,其代码如下:









其布局效果如图:
第三部分代码如下:
package com.example.mpyypm.qwer.testlistview;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.List;

public class InfoAdapter extends BaseAdapter {
private List info;
private Context context;

public InfoAdapter(Context context , List info){
this.context = context;
this.info = info;
}
@Override
public int getCount() {
return info.size();
}

@Override
public Object getItem(int i) {
return info.get(i);
}

@Override
public long getItemId(int i) {
return i;
}

@Override
public View getView(int i, View view, ViewGroup viewGroup) {
ViewHolder holder = null;
holder = new ViewHolder();
view= LayoutInflater.from(context).inflate(R.layout.list_item,null);
holder.n=(TextView) view.findViewById(R.id.n);
holder.a = (TextView)view.findViewById(R.id.a);
holder.m = (TextView)view.findViewById(R.id.m);
holder.s = (TextView)view.findViewById(R.id.s);
holder.w= (ImageView)view.findViewById(R.id.w);

Personinfo personInfo= info.get(i);
holder.n.setText(personInfo.getN());
holder.a.setText(personInfo.getA());
holder.m.setText(personInfo.getM());
holder.s.setText(personInfo.getS());
holder.tu.setImageResource(personInfo.getW());

return view;
}

class ViewHolder{
TextView n;
TextView a;
TextView m;
TextView s;
ImageView w;
}
}
接着来储存人物的信息,其代码如下:
package com.example.mpyypm.qwer;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class PersonInfo {
private String n;
private String a;
private String m;
private String s;
private int w;

public PersonInfo(String name, String age, String mail, String addess, int tu) {
this.n = n;
this.a = a;
this.m = m;
this.s = s;
this.w = w;
}

public String getN() {
return n;
}

public String getA() {
return a;
}

public String getM() {
return m;
}

public String getS() {
return s;
}

public int getW() {
return w;
}
}
最后,将每个人的信息填入空格内,其代码如下:
package com.example.mpyypm.qwer.testlistview;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ListView;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
private InfoAdapter infoAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ArrayList info = getInfo();
infoAdapter =new InfoAdapter(MainActivity.this,info);
ListView listView =(ListView)findViewById(R.id.lt_info);
listView.setAdapter(infoAdapter);
}

public ArrayList getInfo() {
ArrayList info = new ArrayList<>();
info.add(new PersonInfo("蔡志坤","25","ffczk86@gmail.com","厦门市",R.drawable.czk));
info.add(new PersonInfo("李杰华","25","aa@bb.com","漳州市",R.drawable.ljh));
info.add(new PersonInfo("张亮","25","cc@gmail.com","厦门市",R.drawable.zl));
info.add(new PersonInfo("陈旭","25","ccadd@gmail.com","厦门市",R.drawable.cx));

return info;
}
}
其效果如图:

posted on 2017-05-02 21:55  林湘  阅读(100)  评论(1)    收藏  举报

导航