1.MainActivity页面
package com.example.lianxizk3_1;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;
import com.example.adapter.MyAdapter;
import com.example.bean.Result;
import com.example.bean.User;
import com.example.core. Call;
import com.example.presenter.MyPresenter;
import com.handmark.pulltorefresh.library.PullToRefresh ;
import com.handmark.pulltorefresh.library.PullToRefreshScrollView;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife. ;
public class MainActivity extends AppCompatActivity implements Call{
@BindView(R.id.imag_back)
ImageView imagBack;
@BindView(R.id.imag_change)
ImageView imagChange;
@BindView(R.id.recy_view)
RecyclerView recyView;
@BindView(R.id.pull_view)
PullToRefreshScrollView pullView;
@BindView(R.id.text_zong)
TextView textZong;
@BindView(R.id.text_xiao)
TextView textXiao;
@BindView(R.id.text_jia)
TextView textJia;
private List<User> list;
private MyAdapter adapter;
private int type = 0;
private int page = 1;
private int sort = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
pullView.setMode(PullToRefresh .Mode.BOTH);
pullView.setOnRefreshListener(new PullToRefresh .OnRefreshListener2<ScrollView>() {
@Override
public void onPullDownToRefresh(PullToRefresh <ScrollView> refreshView) {
page = 1;
new MyPresenter(MainActivity.this).getData(page + \"\",sort+\"\");
pullView.onRefreshComplete();
}
@Override
public void onPullUpToRefresh(PullToRefresh <ScrollView> refreshView) {
page++;
new MyPresenter(MainActivity.this).getData(page + \"\",sort+\"\");
pullView.onRefreshComplete();
}
});
new MyPresenter(this).getData(page + \"\",sort+\"\");
imagChange.set Listener(new View. Listener() {
@Override
public void (View v) {
if (type == 0) {
type = 1;
imagChange.setImageResource(R.drawable.b);
MyAdapter adapter = new MyAdapter(list, MainActivity.this, type);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(MainActivity.this);
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recyView.setLayoutManager(linearLayoutManager);
recyView.setAdapter(adapter);
} else if (type == 1) {
type = 0;
imagChange.setImageResource(R.drawable.a);
GridLayoutManager gridLayoutManager = new GridLayoutManager(MainActivity.this, 2);
recyView.setLayoutManager(gridLayoutManager);
recyView.setAdapter(adapter);
}
}
});
}
@Override
public void loadSuccess( data) {
list = (List<User>) data;
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recyView.setLayoutManager(linearLayoutManager);
adapter = new MyAdapter(list, MainActivity.this, 0);
recyView.setAdapter(adapter);
}
@Override
public void loadError(Result result) {
}
@ ({R.id.text_zong, R.id.text_xiao, R.id.text_jia,R.id.imag_back})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.text_zong:
sort = 0;
Toast.makeText(this, \"1111\", Toast.LENGTH_SHORT).show();
new MyPresenter(MainActivity.this).getData(page + \"\",sort+\"\");
break;
case R.id.text_xiao:
sort = 1;
Toast.makeText(this, \"222\", Toast.LENGTH_SHORT).show();
new MyPresenter(MainActivity.this).getData(page + \"\",sort+\"\");
break;
case R.id.text_jia:
sort = 2;
Toast.makeText(this, \"333\", Toast.LENGTH_SHORT).show();
new MyPresenter(MainActivity.this).getData(page + \"\",sort+\"\");
break;
case R.id.imag_back:
finish();
break;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
new MyPresenter(this).unBind Call();
}
}
2.适配器
package com.example.adapter;
import android.content.Context;
import android.content.Intent;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.example.bean.User;
import com.example.lianxizk3_1.R;
import com.example.lianxizk3_1.ShowActivity;
import java.util.ArrayList;
import java.util.List;
/**
* Created by 。 on 2018/12/15.
*/
public class MyAdapter extends RecyclerView.Adapter{
private List<User> list = new ArrayList<>();
private Context context;
private int type;
public MyAdapter(List<User> list, Context context, int type) {
this.list = list;
this.context = context;
this.type = type;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if(viewType==0){
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_f, parent, false);
return new MyViewHolder(view);
}else if(viewType == 1){
View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.item, parent, false);
return new TwoViewHolder(inflate);
}
return null;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
int itemViewType = holder.getItemViewType();
switch (itemViewType){
case 0:
MyViewHolder myViewHolder = (MyViewHolder) holder;
myViewHolder.two_ .setText(list.get(position).getSubhead());
myViewHolder.two_price.setText(\"¥\"+list.get(position).getPrice());
String images = list.get(position).getImages();
String[] strings = images.split(\"!\");
Glide.with(context).load(strings[0]).into(myViewHolder.imageView2);
holder.itemView.set Listener(new View. Listener() {
@Override
public void (View v) {
Intent intent = new Intent(context,ShowActivity.class);
intent.putExtra(\"url\",list.get(position).getDetailUrl());
context.startActivity(intent);
list.remove(position);
notifyDataSetChanged();
}
});
break;
case 1:
TwoViewHolder twoViewHolder = (TwoViewHolder) holder;
twoViewHolder.textView1.setText(list.get(position).getSubhead());
twoViewHolder.textView2.setText(\"¥\"+list.get(position).getPrice());
String images1 = list.get(position).getImages();
String[] strings1 = images1.split(\"!\");
Glide.with(context).load(strings1[0]).into(twoViewHolder.imageView1);
break;
}
}
@Override
public int getItemCount() {
return list.size();
}
class MyViewHolder extends RecyclerView.ViewHolder{
private final ImageView imageView2;
private final TextView two_ ;
private final TextView two_price;
public MyViewHolder(View itemView) {
super(itemView);
imageView2 = itemView.findViewById(R.id.two_imag);
two_ = itemView.findViewById(R.id.two_ );
two_price = itemView.findViewById(R.id.two_price);
}
}
class TwoViewHolder extends RecyclerView.ViewHolder{
private final ImageView imageView1;
private final TextView textView1;
private final TextView textView2;
public TwoViewHolder(View itemView) {
super(itemView);
imageView1 = itemView.findViewById(R.id.one_imag);
textView1 = itemView.findViewById(R.id.ont_ );
textView2 = itemView.findViewById(R.id.one_price);
}
}
@Override
public int getItemViewType(int position) {
if(type ==0){
return 0;
}else {
return 1;
}
}
}
继续阅读与本文标签相同的文章
-
开发者必读 · 周报 | 002期
2026-05-19栏目: 教程
-
斩获2019中国金融科技创新大赛金奖,蚂蚁金服mPaaS助力打造超级App生态
2026-05-19栏目: 教程
-
有呀!互联网icp许可证除申请以外有转让的吗?飞起
2026-05-19栏目: 教程
-
Apache Zepplin使用Hive Interpreter查询
2026-05-19栏目: 教程
-
大宗货运如何实现“重去重回”?
2026-05-19栏目: 教程
