fragment
package com.example.yf.zk03.fragment;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.view.NestedScrollingParent;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.bawei.swiperefreshlayoutlibrary.SwipyRefreshLayout;
import com.example.yf.zk03.R;
import com.example.yf.zk03.adapter.MyAdapter;
import com.example.yf.zk03.bean.Bean;
import com.example.yf.zk03.presenter.Presenter;
import com.google.gson.Gson;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
import java.util.List;
public class FragmentOne extends Fragment {
private RecyclerView recycl;
private Presenter presenter;
private Button shou;
private EditText zhi;
private RefreshLayout mRefreshLayout;
private MyAdapter myAdapter;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.one, container, false);
recycl = view.findViewById(R.id.recycl);
shou = view.findViewById(R.id.shou);
zhi = view.findViewById(R.id.zhi);
mRefreshLayout = view.findViewById(R.id.refreshLayout);
mRefreshLayout.setEnableLoadMore(true);
mRefreshLayout.setEnableRefresh(true);
shou.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String s = zhi.getText().toString();
presenter.GetPreData(s);
}
});
mRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
@Override
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
myAdapter.notifyDataSetChanged();
refreshLayout.finishRefresh();
}
});
mRefreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
@Override
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
myAdapter.notifyDataSetChanged();
refreshLayout.finishLoadMore();
}
});
GridLayoutManager gridLayoutManager = new GridLayoutManager(getActivity(), 2);
recycl.setLayoutManager(gridLayoutManager);
presenter = new Presenter(this);
return view;
}
public void GetView(final String data) {
getActivity().runOnUiThread(new Runnable() {
private List<Bean.ResultBean> list;
@Override
public void run() {
Gson gson = new Gson();
Bean bean = gson.fromJson(data, Bean.class);
list = bean.getResult();
myAdapter = new MyAdapter(getActivity(), list);
recycl.setAdapter(myAdapter);
myAdapter.setOnItemClickListener(new MyAdapter.onItemClickListener() {
@Override
public void onItemClickListener(View view, int position) {
Toast.makeText(getActivity(),"点击",Toast.LENGTH_SHORT).show();
}
});
myAdapter.setItemLongClickListener(new MyAdapter.onItemLongClickListener() {
@Override
public void onItemLongClickListener(View view, int position) {
list.remove(position);
myAdapter.notifyItemRangeRemoved(position,1);
Toast.makeText(getActivity(),"删除成功",Toast.LENGTH_SHORT).show();
}
});
}
});
}
}
```java
adapter
package com.example.yf.zk03.adapter;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v4.app.FragmentActivity;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.example.yf.zk03.R;
import com.example.yf.zk03.bean.Bean;
import java.util.List;
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
Context context;
List<Bean.ResultBean>list;
public MyAdapter(Context context, List<Bean.ResultBean> list) {
this.list=list;
this.context =context;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = View.inflate(viewGroup.getContext(), R.layout.item1, null);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull final ViewHolder viewHolder, int i) {
viewHolder.title.setText(list.get(i).getCommodityName());
viewHolder.price.setText(list.get(i).getPrice()+"");
Glide.with(context).load(list.get(i).getMasterPic()).into(viewHolder.img);
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int position = viewHolder.getLayoutPosition();
View itemView = viewHolder.itemView;
if (itemClickListener !=null){
itemClickListener.onItemClickListener(itemView,position);
}
}
});
viewHolder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
int position = viewHolder.getAdapterPosition();
View itemView = viewHolder.itemView;
if (itemLongClickListener!=null){
itemLongClickListener.onItemLongClickListener(itemView,position);
}
return true;
}
});
}
@Override
public int getItemCount() {
return list.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
private TextView title;
private TextView price;
private ImageView img;
public ViewHolder(@NonNull View itemView) {
super(itemView);
title = itemView.findViewById(R.id.title);
price = itemView.findViewById(R.id.price);
img = itemView.findViewById(R.id.img);
}
}
//点击监听
public interface onItemClickListener{
void onItemClickListener(View view,int position);
}
//长摁监听
public interface onItemLongClickListener{
void onItemLongClickListener(View view,int position);
}
//声明点击接口
public onItemClickListener itemClickListener;
//声明长按接口
public onItemLongClickListener itemLongClickListener;
//设置监听方法
public void setOnItemClickListener(MyAdapter.onItemClickListener onItemClickListener) {
this.itemClickListener = onItemClickListener;
}
public void setItemLongClickListener(MyAdapter.onItemLongClickListener itemLongClickListener) {
this.itemLongClickListener = itemLongClickListener;
}
}
p
package com.example.yf.zk03.presenter;
import com.example.yf.zk03.api.Api;
import com.example.yf.zk03.fragment.FragmentOne;
import com.example.yf.zk03.model.IModel;
import com.example.yf.zk03.model.Model;
public class Presenter implements IPresenter {
public static String Shows=“http://172.17.8.100/small/commodity/v1/findCommodityByKeyword?page=1&count=8&keyword=”;
FragmentOne fragmentOne;
private Model model;
public Presenter(FragmentOne fragmentOne) {
this.fragmentOne = fragmentOne;
model = new Model();
}
@Override
public void GetPreData(String s) {
model.GetData(Shows+s, new IModel.Callback() {
@Override
public void Success(String data) {
fragmentOne.GetView(data);
}
});
}
}
p接口
```java
package com.example.yf.zk03.presenter;
public interface IPresenter {
void GetPreData(String s);
}