适配器
public class MySearchAdapter extends RecyclerView.Adapter<MySearchAdapter.ViewHolder> {
private Context context;
private List<Fen_Book> list;
private int q;
public MySearchAdapter(Context context, List<Fen_Book> list, int q) {
this.context = context;
this.list = list;
this.q = q;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if (q == 1) {
View view = LayoutInflater.from(context).inflate(R.layout.book_layout, null);
ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
} else {
View view = LayoutInflater.from(context).inflate(R.layout.ver_layout, null);
ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
}
}
//声明自己的一个事件回调接口
public interface OnItemClickListener {
//条目点击事件
void setOnItemClick(View view, int position);
//条目长按事件
void setOnItemLongClick(View view, int position);
}
private OnItemClickListener onItemClickListener;
public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
this.onItemClickListener = onItemClickListener;
}
@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
holder.text.setText(list.get(position).getTitle());
holder.oldprice.setText(list.get(position).getNewprice() + "");
String img = list.get(position).getImg();
String[] split = img.split("\\|");
ImageLoader.getInstance().displayImage(split[0], holder.img);
if (null != onItemClickListener) {
//回调点击事件
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//回调
onItemClickListener.setOnItemClick(v, position);
}
});
holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
onItemClickListener.setOnItemLongClick(v, position);
return true;//消费掉
}
});
}
}
@Override
public int getItemCount() {
return list.size();
}
class ViewHolder extends RecyclerView.ViewHolder {
ImageView img;
TextView text;
TextView oldprice;
public ViewHolder(View itemView) {
super(itemView);
img = (ImageView) itemView.findViewById(R.id.book_img);
text = (TextView) itemView.findViewById(R.id.book_text);
oldprice = (TextView) itemView.findViewById(R.id.text_oldprice);
}
}
}
mian1
public class MainActivity extends AppCompatActivity implements IFenSouView {
private TextView back;
private EditText edit;
private ImageView img;
private Button btn_sou;
private FenSouPresenter fenSouPresenter;
private RecyclerView rc;
private int q = 1;
private boolean flag = true;
private MySearchAdapter madapter;
private List<Fen_Book> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
back = (TextView) findViewById(R.id.fen_btn_back);
edit = (EditText) findViewById(R.id.fen_edit);
img = (ImageView) findViewById(R.id.fen_img);
btn_sou = (Button) findViewById(R.id.fen_btn_sou);
rc = (RecyclerView) findViewById(R.id.fen_rc);
//跟p层关联
fenSouPresenter = new FenSouPresenter(this);
//点击返回 结束当前页面
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
//点击搜索按钮获取到输入框的值
btn_sou.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = edit.getText().toString();
if (name.trim().equals(null) || name.trim().equals("")) {
Toast.makeText(MainActivity.this, "请输入内容", Toast.LENGTH_SHORT).show();
} else {
fenSouPresenter.getName(edit.getText().toString().trim());
}
}
});
}
@Override
public void onSuccess(final List<Fen_Book> list) {
LinearLayoutManager manager = new LinearLayoutManager(MainActivity.this, LinearLayoutManager.VERTICAL, false);
rc.setLayoutManager(manager);
madapter = new MySearchAdapter(MainActivity.this, list, 1);
rc.setAdapter(madapter);
madapter.setOnItemClickListener(new MySearchAdapter.OnItemClickListener() {
@Override
public void setOnItemClick(View view, int position) {
Intent intent = new Intent(MainActivity.this, Main_Fen_Show.class);
intent.putExtra("id", list.get(position).getId());
startActivity(intent);
}
@Override
public void setOnItemLongClick(View view, int position) {
}
});
//图片的点击事件
img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (flag) {
GridLayoutManager manager = new GridLayoutManager(MainActivity.this, 2, LinearLayoutManager.VERTICAL, false);
rc.setLayoutManager(manager);
madapter = new MySearchAdapter(MainActivity.this, list, 1);
rc.setAdapter(madapter);
madapter.setOnItemClickListener(new MySearchAdapter.OnItemClickListener() {
@Override
public void setOnItemClick(View view, int position) {
Intent intent = new Intent(MainActivity.this, Main_Fen_Show.class);
intent.putExtra("id", list.get(position).getId());
startActivity(intent);
}
@Override
public void setOnItemLongClick(View view, int position) {
}
});
img.setImageDrawable(getResources().getDrawable(R.drawable.grid_icon));
flag = false;
} else {
LinearLayoutManager manager = new LinearLayoutManager(MainActivity.this, LinearLayoutManager.VERTICAL, false);
rc.setLayoutManager(manager);
madapter = new MySearchAdapter(MainActivity.this, list, 2);
rc.setAdapter(madapter);
madapter.setOnItemClickListener(new MySearchAdapter.OnItemClickListener() {
@Override
public void setOnItemClick(View view, int position) {
Intent intent = new Intent(MainActivity.this, Main_Fen_Show.class);
intent.putExtra("id", list.get(position).getId());
startActivity(intent);
}
@Override
public void setOnItemLongClick(View view, int position) {
}
});
img.setImageDrawable(getResources().getDrawable(R.drawable.lv_icon));
flag = true;
}
}
});
}
@Override
public void onFailed() {
}
@Override
public void onPidSuccess(List<Xiangqing> list) {
}
@Override
public void onPidFailed() {
}
@Override
public void onAddSuccess(String msg) {
}
@Override
public void onAddFailed(String msg) {
}
}
mian2
public class Main_Fen_Show extends AppCompatActivity implements IFenSouView {
private RecyclerView rc;
private MySearchShowAdapter mySearchShowAdapter;
private int id;
private FenSouPresenter fenSouPresenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main__fen__show);
rc = (RecyclerView) findViewById(R.id.rc);
Intent intent = getIntent();
int id = intent.getIntExtra("id", this.id);
fenSouPresenter = new FenSouPresenter(this);
fenSouPresenter.getPid(id);
}
@Override
public void onSuccess(List<Fen_Book> list) {
}
@Override
public void onFailed() {
}
@Override
public void onPidSuccess(List<Xiangqing> list) {
rc.setLayoutManager(new GridLayoutManager(Main_Fen_Show.this, 1, GridLayoutManager.VERTICAL, false));
mySearchShowAdapter = new MySearchShowAdapter(Main_Fen_Show.this, list);
rc.setAdapter(mySearchShowAdapter);
}
@Override
public void onPidFailed() {
}
@Override
public void onAddSuccess(String msg) {
}
@Override
public void onAddFailed(String msg) {
}
}
//适配器2
public class MySearchShowAdapter extends RecyclerView.Adapter<MySearchShowAdapter.ViewHolder> implements IFenSouView {
private Context context;
private List<Xiangqing> list;
private FenSouPresenter fenSouPresenter;
public MySearchShowAdapter(Context context, List<Xiangqing> list) {
this.context = context;
this.list = list;
}
@Override
public MySearchShowAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.fen_show, null);
ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(MySearchShowAdapter.ViewHolder holder, final int position) {
String img = list.get(position).getImg();
String[] split = img.split("\\|");
ImageLoader.getInstance().displayImage(split[0], holder.img);
holder.text.setText(list.get(position).getTitle());
holder.textprice.setText(list.get(position).getPrice() + "");
fenSouPresenter = new FenSouPresenter(this);
holder.fen_btn_jia.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fenSouPresenter.getUid(list.get(position).getPid());
}
});
}
@Override
public int getItemCount() {
return list.size();
}
@Override
public void onSuccess(List<Fen_Book> list) {
}
@Override
public void onFailed() {
}
@Override
public void onPidSuccess(List<Xiangqing> list) {
}
@Override
public void onPidFailed() {
}
@Override
public void onAddSuccess(String msg) {
Toast.makeText(context, msg + "", Toast.LENGTH_SHORT).show();
}
@Override
public void onAddFailed(String msg) {
Toast.makeText(context, msg + "", Toast.LENGTH_SHORT).show();
}
class ViewHolder extends RecyclerView.ViewHolder {
ImageView img;
TextView text;
TextView textprice;
Button fen_btn_jia;
public ViewHolder(View itemView) {
super(itemView);
img = (ImageView) itemView.findViewById(R.id.img);
text = (TextView) itemView.findViewById(R.id.text);
textprice = (TextView) itemView.findViewById(R.id.textprice);
fen_btn_jia = (Button) itemView.findViewById(R.id.fen_btn_jia);
}
}
}