适配器MyListAdapter代码:
public class MyListAdapter extends BaseAdapter {
private List myDate;
private Context context;
//构造方法
public MyListAdapter(Context context, List<News> myDate) {
this.context = context;
this.myDate = myDate;
}
@Override
public int getCount() {
return myDate.size();
}
@Override
public Object getItem(int position) {
return myDate.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder vh;
if (convertView == null) {
//第一次加载时执行 就执行一次
vh = new ViewHolder();
convertView = LayoutInflater.from(context).inflate(R.layout.list_layout_base, null);
vh.title = (TextView) convertView.findViewById(R.id.title);
vh.pubDate = (TextView) convertView.findViewById(R.id.pubDate);
vh.from = (TextView) convertView.findViewById(R.id.from);
vh.img = (ImageView) convertView.findViewById(R.id.img);
vh.good = (TextView) convertView.findViewById(R.id.good);
vh.goodCount = (TextView) convertView.findViewById(R.id.goodCount);
//保存住实体类
convertView.setTag(vh);
} else {
vh = (ViewHolder) convertView.getTag();
}
vh.img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, "点击了图片" + position, Toast.LENGTH_SHORT).show();
}
});
final News ns = myDate.get(position);
vh.good.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int count = Integer.parseInt(vh.goodCount.getText().toString()) + 1;
vh.goodCount.setText(count + "");
ns.setGoodCount(count);
}
});
vh.title.setText(ns.getTitle());
vh.pubDate.setText(ns.getPubDdte());
vh.from.setText(ns.getFrom());
vh.img.setImageResource(ns.getImg());
vh.goodCount.setText(ns.getGoodCount() + "");
return convertView;
}
public class ViewHolder {
TextView title;
ImageView img;
TextView pubDate;
TextView from;
TextView good;
TextView goodCount;
}
}
实体类:News
public class News {
private String title;
private String pubDdte;
private String newsId;
private int img;
private String from;
private int goodCount;
public News() {
}
public void setGoodCount(int goodCount) {
this.goodCount = goodCount;
}
public int getGoodCount() {
return goodCount;
}
public News(String title, String pubDdte, String newsId, int img, String from, int goodCount) {
this.title = title;
this.pubDdte = pubDdte;
this.newsId = newsId;
this.img = img;
this.from = from;
this.goodCount = goodCount;
}
public void setTitle(String title) {
this.title = title;
}
public void setPubDdte(String pubDdte) {
this.pubDdte = pubDdte;
}
public void setNewsId(String newsId) {
this.newsId = newsId;
}
public void setImg(int img) {
this.img = img;
}
public void setFrom(String from) {
this.from = from;
}
public String getTitle() {
return title;
}
public String getPubDdte() {
return pubDdte;
}
public String getNewsId() {
return newsId;
}
public int getImg() {
return img;
}
public String getFrom() {
return from;
}
}
“`
Activity
“`public class List3Activity extends AppCompatActivity {
private ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list3);
lv= (ListView) findViewById(R.id.lv);
List list=new ArrayList();
News ns=new News("新闻1","刚刚","n001",R.mipmap.a,"搜狐网",0);
list.add(ns);
ns=new News("新闻2","今天","n002",R.mipmap.b,"新浪网",0);
list.add(ns);
ns=new News("新闻3","昨天","n003",R.mipmap.c,"未来网",0);
list.add(ns);
ns=new News("新闻4","后天","n004",R.mipmap.d,"网易网",0);
list.add(ns);
ns=new News("新闻5","明天","n005",R.mipmap.e2,"腾讯网",0);
list.add(ns);
ns=new News("新闻6","昨天","n006",R.mipmap.f1,"天涯网",0);
list.add(ns);
ns=new News("新闻7","今天","n007",R.mipmap.g2,"腾讯网",0);
list.add(ns);
ns=new News("新闻8","昨天","n008",R.mipmap.a2,"天涯网",0);
list.add(ns);
ns=new News("新闻9","前天","n009",R.mipmap.a1,"搜狐网",0);
list.add(ns);
lv.setAdapter(new MyListAdapter(this,list));
}
}
Activity的布局:
实现效果:
可以实现点击good然后评论就会加1,点击图片出现点击了图片的效果