Recyerview的使用
来源:互联网 发布:淘宝人工客服电话多少 编辑:程序博客网 时间:2024/06/06 21:37
适配器
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); } }}
阅读全文
0 0
- Recyerview的使用
- GUID使用的使用
- ${}的使用
- 的使用
- @[],@()的使用
- ->的使用
- +、-、*、/、%的使用
- &&的使用
- %:的使用
- Makefile中使用$$的使用
- Makefile中使用$$的使用
- Red5的使用--使用日志
- prefernce的使用具体使用
- 【工具使用】git 的使用
- 关于使用AsyncTaskLoader的使用
- 使用CABasicAnimation的基本使用
- 使用RocketMQ的客户端使用
- gulp的使用基本使用
- poj2488A Knight's Journey
- 第四节课
- eclipse发布项目报错:Multiple Contexts hava a path of “/xxx“
- python中的线程
- Java窗口关闭设置DISPOSE_ON_CLOSE和EXIT_ON_CLOSE 的区别
- Recyerview的使用
- pandas与numpy数据结构互相转化
- dataTables-使用中遇到的问题
- leetcode 88[easy]---Merge Sorted Array
- [转载]我的助理辞职了!——给不听话的下属看看
- 2017年12月18日总结
- Anaconda|Anaconda与ROS共存问题
- python中迭代器的实现
- POJ 3071 Football(概率DP)