xml
<com.jcodecraeer.xrecyclerview.XRecyclerView
android:id="@+id/recycler"
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”/>
public class ShouFragment extends Fragment implements BaseView {
private XRecyclerView mRecycler;
private BasePresenter basePresenter;
private NewsAdapter adapter;
private String url="http://172.17.8.100/movieApi/movie/v1/findHotMovieList?page=1&count=5";
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.show,container,false);
return view;
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
//寻找控件
mRecycler = view.findViewById(R.id.recycler);
//设置布局管理器
basePresenter = new BasePresenter(new BaseModle(), this);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
mRecycler.setLayoutManager(linearLayoutManager);
//设置适配器
adapter=new NewsAdapter(getActivity());
mRecycler.setAdapter(adapter);
//开始上拉加载
mRecycler.setLoadingMoreEnabled(true);
mRecycler.setLoadingListener(new XRecyclerView.LoadingListener() {
@Override
public void onRefresh() {
}
@Override
public void onLoadMore() {
}
});
//获取p层
basePresenter.doGet(0,url);
}
//成功
@Override
public void success(int type, String data) {
NewsBean bean=new Gson().fromJson(data,NewsBean.class);
List<NewsBean.ResultBean> list= bean.getResult();
adapter.setData(list);
}
//失败
@Override
public void fail(String error) {
}
//销毁
@Override
public void onDestroy() {
super.onDestroy();
basePresenter.destory();
}
}
NewsAdapter适配器
public class NewsAdapter extends RecyclerView.Adapter<NewsAdapter.MyViewHolder> {
private Context context;
private List<NewsBean.ResultBean> list = new ArrayList<>();
public NewsAdapter(Context context) {
this.context = context;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view=View.inflate(context, R.layout.item_layout,null);
MyViewHolder holder=new MyViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, int i) {
myViewHolder.num.setText(list.get(i).getSummary());
myViewHolder.title.setText(list.get(i).getName());
Glide.with(context).load(list.get(i).getImageUrl()).into(myViewHolder.imageView);
}
@Override
public int getItemCount() {
return list.size();
}
public void setData(List<NewsBean.ResultBean> list) {
this.list=list;
}
public class MyViewHolder extends RecyclerView.ViewHolder{
TextView title,num;
ImageView imageView;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
title=itemView.findViewById(R.id.title);
num=itemView.findViewById(R.id.num);
imageView=itemView.findViewById(R.id.image_view);
}
}
}