V
public class MainActivity extends AppCompatActivity implements INewsView {
private RecyclerView rvNews;
private NewsPresaenter presaenter;
private NewsListAdapter adapter;
private List<NewsBean.DataBean.SubjectsBean> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rvNews = (RecyclerView) findViewById(R.id.rv_news);
presaenter=new NewsPresaenter();
presaenter.attachView(this);
presaenter.getNews();
}
@Override
public void success(String tag, List<NewsBean.DataBean.SubjectsBean> data) {
Log.e("MainActivity","请求成功");
//if(null!=data){
//list=new ArrayList<>();
//list.addAll(data);
LinearLayoutManager manager=new LinearLayoutManager(this);
rvNews.setLayoutManager(manager);
adapter=new NewsListAdapter(this,data);
rvNews.setAdapter(adapter);
//adapter.notifyDataSetChanged();
//}
}
@Override
public void failed(String tag, Exception e) {
Toast.makeText(this,e.getMessage(),Toast.LENGTH_SHORT).show();
}
@Override
protected void onDestroy() {
super.onDestroy();
if(presaenter!=null){
presaenter.detachView();
}
}
}
Adapter
public class NewsListAdapter extends RecyclerView.Adapter<NewsListAdapter.ViewHolder>{
private Context context;
private List<NewsBean.DataBean.SubjectsBean> list;
public NewsListAdapter(Context context, List<NewsBean.DataBean.SubjectsBean> list){
this.context=context;
this.list=list;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v=View.inflate(context, R.layout.item_news,null);
ViewHolder holder=new ViewHolder(v);
return holder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
Log.e("NewsListAdapter",list.get(position).getDescImage());
Glide.with(context).load(list.get(position).getDescImage()).into(holder.imglogo);
holder.txttitle.setText(list.get(position).getTitle());
holder.txttime.setText(list.get(position).getEnd_time());
}
@Override
public int getItemCount() {
if(list==null){
return 0;
}
return list.size();
}
class ViewHolder extends RecyclerView.ViewHolder{
private ImageView imglogo;
private TextView txttitle;
private TextView txttime;
public ViewHolder(View itemView) {
super(itemView);
imglogo= (ImageView) itemView.findViewById(R.id.img_logo);
txttitle = (TextView) itemView.findViewById(R.id.txt_title);
txttime= (TextView) itemView.findViewById(R.id.txt_time);
}
}
}