main
public class MainActivity extends AppCompatActivity implements ICont.IView{
private RecyclerView re_view;
private ICont.IPresenter pp;
private Button btn_login;
private Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
re_view = findViewById(R.id.re_view);
btn_login = findViewById(R.id.btn_login);
btn_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this,Main2Activity.class));
}
});
pp = new PP();
pp.attchview(this);
pp.respinfo();
context = this;
}
@Override
public void showdata(String string) {
Gson gson = new Gson();
news news = gson.fromJson(string, news.class);
Log.i("aaa",string);
List<com.example.zhoukao3.news.DataBean> data = news.getData();
Myadapter myadapter = new Myadapter(context, (ArrayList<com.example.zhoukao3.news.DataBean>) data);
LinearLayoutManager manager = new LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false);
re_view.setLayoutManager(manager);
re_view.setAdapter(myadapter);
}
@Override
protected void onDestroy() {
super.onDestroy();
pp.detachview(this);
}
}
Adapter
public class Myadapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
Context context;
ArrayList<news.DataBean> data;
public Myadapter(Context context, ArrayList<news.DataBean> data) {
this.context=context;
this.data=data;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int i) {
if (data.get(i).getThumbnail_pic_s03()==null&&data.get(i).getThumbnail_pic_s03()==null) {
View oneinflate = LayoutInflater.from(context).inflate(R.layout.onelayout, parent, false);
Onehodler onehodler = new Onehodler(oneinflate);
return onehodler;
}else if (data.get(i).getThumbnail_pic_s02()!=null&&data.get(i).getThumbnail_pic_s03()==null){
View twoinflate = LayoutInflater.from(context).inflate(R.layout.twolayout, parent, false);
Twohodler twohodler = new Twohodler(twoinflate);
return twohodler;
}else {
View threeinflate = LayoutInflater.from(context).inflate(R.layout.threelayout, parent, false);
Threehodler threehodler = new Threehodler(threeinflate);
return threehodler;
}
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
if(holder instanceof Onehodler){
((Onehodler) holder).text1.setText(data.get(position).getTitle());
Picasso.get().load(data.get(position).getThumbnail_pic_s()).into(((Onehodler) holder).img1);
}else if (holder instanceof Twohodler){
((Twohodler) holder).text2.setText(data.get(position).getTitle());
Picasso.get().load(data.get(position).getThumbnail_pic_s()).into(((Twohodler) holder).img2);
Picasso.get().load(data.get(position).getThumbnail_pic_s02()).into(((Twohodler) holder).img3);
}else {
((Threehodler) holder).text3.setText(data.get(position).getTitle());
Picasso.get().load(data.get(position).getThumbnail_pic_s()).into(((Threehodler) holder).img4);
Picasso.get().load(data.get(position).getThumbnail_pic_s02()).into(((Threehodler) holder).img5);
Picasso.get().load(data.get(position).getThumbnail_pic_s03()).into(((Threehodler) holder).img6);
}
}
@Override
public int getItemCount() {
return data.size();
}
class Onehodler extends RecyclerView.ViewHolder {
private TextView text1;
private ImageView img1;
public Onehodler(View itemView) {
super(itemView);
text1 = itemView.findViewById(R.id.text1);
img1 = itemView.findViewById(R.id.img1);
}
}
class Twohodler extends RecyclerView.ViewHolder {
private TextView text2;
private ImageView img2;
private ImageView img3;
public Twohodler(View itemView) {
super(itemView);
text2 = itemView.findViewById(R.id.text2);
img2 = itemView.findViewById(R.id.img2);
img3 = itemView.findViewById(R.id.img3);
}
}
class Threehodler extends RecyclerView.ViewHolder {
private TextView text3;
private ImageView img4;
private ImageView img5;
private ImageView img6;
public Threehodler(View itemView) {
super(itemView);
text3 = itemView.findViewById(R.id.text3);
img4 = itemView.findViewById(R.id.img4);
img5 = itemView.findViewById(R.id.img5);
img6 = itemView.findViewById(R.id.img6);
}
}
}