在fragment中实现
public class ShouYeFragment extends Fragment implements IWeekView {
private RecyclerView left_recycler;
private RecyclerView right_recycler;
private WeekPresenter weekPresenter;
private LinearLayoutManager linearLayoutManager;
private GridLayoutManager gridLayoutManager;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_shou_ye, container, false);
left_recycler = view.findViewById(R.id.left_recycler);
right_recycler = view.findViewById(R.id.right_recycler);
//初始化presenter
weekPresenter = new WeekPresenter(ShouYeFragment.this);
weekPresenter.getPresenterData();
//创建线性布局
linearLayoutManager = new LinearLayoutManager(getActivity());
linearLayoutManager.setOrientation(OrientationHelper.VERTICAL);
//创建网格布局
gridLayoutManager = new GridLayoutManager(getActivity(), 3);
//recycler设置布局样式
left_recycler.setLayoutManager(linearLayoutManager);
right_recycler.setLayoutManager(gridLayoutManager);
return view;
}
@Override
public void getViewData(final String data) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
Gson gson = new Gson();
MyDataLeft myDataLeft = gson.fromJson(data, MyDataLeft.class);
List<MyDataLeft.DataBean> leftData = myDataLeft.getData();
//设置适配器
MyLeftAdapter leftAdapter = new MyLeftAdapter(getActivity(),leftData);
left_recycler.setAdapter(leftAdapter);
}
});
}
@Override
public void getRightData(final String data) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
Gson gson = new Gson();
MyDataRight myDataRight = gson.fromJson(data, MyDataRight.class);
List<MyDataRight.DataBean> rightData = myDataRight.getData();
//设置适配器
MyRightAdapter rightAdapter = new MyRightAdapter(getActivity(),rightData);
right_recycler.setAdapter(rightAdapter);
}
});
}
}
适配器
public class MyRightAdapter extends RecyclerView.Adapter<MyRightAdapter.ViewHolder> {
private Context context;
private List<MyDataRight.DataBean> rightData;
private LayoutInflater inflater;
public MyRightAdapter(Context context, List<MyDataRight.DataBean> rightData) {
this.context = context;
this.rightData = rightData;
this.inflater = LayoutInflater.from(context);
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = inflater.inflate(R.layout.right_recycler_layout, viewGroup, false);
ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {
RequestOptions options = new RequestOptions();
//Glide加载图片
Glide.with(context)
.load(rightData.get(i).getList().get(i).getIcon())
.apply(options)
.into(viewHolder.right_recycler_img);
viewHolder.right_recycler_text.setText(rightData.get(i).getName());
}
@Override
public int getItemCount() {
return rightData.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
private final ImageView right_recycler_img;
private final TextView right_recycler_text;
public ViewHolder(@NonNull View itemView) {
super(itemView);
right_recycler_img = itemView.findViewById(R.id.right_recycler_img);
right_recycler_text = itemView.findViewById(R.id.right_recycler_text);
}
}
}