最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android中RecyclerView實(shí)現(xiàn)商品分類功能

 更新時(shí)間:2022年02月10日 16:00:08   作者:WWWW.COM  
這篇文章主要為大家詳細(xì)介紹了Android中RecyclerView實(shí)現(xiàn)商品分類功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Android中RecyclerView實(shí)現(xiàn)商品分類功能的具體代碼,供大家參考,具體內(nèi)容如下

三個(gè)個(gè)RecyclerView實(shí)現(xiàn)

//左邊的布局

?<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
? ? android:layout_width="match_parent"
? ? android:layout_height="50dp"
? ? android:orientation="vertical">

? ? <TextView
? ? ? ? android:id="@+id/tv_name"
? ? ? ? android:textSize="18sp"
? ? ? ? android:text="阿薩德發(fā)的"
? ? ? ? android:gravity="center"
? ? ? ? android:layout_width="match_parent"
? ? ? ? android:layout_height="match_parent" />
</LinearLayout>

//右邊的布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
? ? android:layout_width="match_parent"
? ? android:layout_height="match_parent">

? ? <TextView
? ? ? ? android:layout_width="wrap_content"
? ? ? ? android:layout_height="wrap_content"
? ? ? ? android:id="@+id/name"/>

? ? <android.support.v7.widget.RecyclerView
? ? ? ? android:layout_width="match_parent"
? ? ? ? android:layout_height="match_parent"
? ? ? ? android:id="@+id/right_recy"
? ? ? ? android:layout_below="@+id/name"/>
</RelativeLayout>

//子布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
? ? android:layout_width="match_parent"
? ? android:layout_height="wrap_content"
? ? android:orientation="vertical">

? ? <ImageView
? ? ? ? android:id="@+id/image2"
? ? ? ? android:layout_width="90dp"
? ? ? ? android:layout_height="90dp" />

? ? <TextView
? ? ? ? android:layout_width="wrap_content"
? ? ? ? android:layout_height="wrap_content"
? ? ? ? android:id="@+id/title1" />
</LinearLayout>

//定義一個(gè)接口

public interface CallBack {
void onSuccess(List<LeftBean.DataBean> list);
void onFailer(String error);
}

//左邊的Model層

public class LeftModel {

? ? private ?String path="http://www.zhaoapi.cn/product/getCatagory";
? ? public void getData(final CallBack callBack){
? ? ? ? OkHttp okHttp=new OkHttp();
? ? ? ? okHttp.get(path).getDataLiserner(new OkHttp.GetData() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void Data(String s) {
? ? ? ? ? ? ? ? Gson gson=new Gson();
? ? ? ? ? ? ? ? LeftBean json = gson.fromJson(s, LeftBean.class);
? ? ? ? ? ? ? ? List<LeftBean.DataBean> data = json.getData();
? ? ? ? ? ? ? ? if (data!=null){
? ? ? ? ? ? ? ? ? ? callBack.onSuccess(data);
? ? ? ? ? ? ? ? }else {
? ? ? ? ? ? ? ? ? ? callBack.onFailer("失敗");
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? });
? ? }
}

//左邊的Presenter層

public class LeftPresenter {
? ? private LeftView leftView;
? ? private final LeftModel leftModel;

? ? public LeftPresenter(LeftView leftView) {
? ? ? ? this.leftView = leftView;
? ? ? ? leftModel = new LeftModel();
? ? }

? ? public void showLeft(){
? ? ? ? leftModel.getData(new CallBack() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void onSuccess(List<LeftBean.DataBean> list) {
? ? ? ? ? ? ? ? leftView.onSuccess(list);
? ? ? ? ? ? }

? ? ? ? ? ? @Override
? ? ? ? ? ? public void onFailer(String error) {
? ? ? ? ? ? ? ? leftView.Failer(error);
? ? ? ? ? ? }
? ? ? ? });
? ? }
}

//View層

public interface LeftView {
? ?void onSuccess(List<LeftBean.DataBean> list);
? ?void Failer(String error);
}

//左邊的適配器

public class LeftRecycAdapter extends RecyclerView.Adapter<LeftRecycAdapter.LeftViewHoler>{

? ? private Context mContext;
? ? private List<LeftBean.DataBean> list;

? ? public LeftRecycAdapter(Context mContext, List<LeftBean.DataBean> list) {
? ? ? ? this.mContext = mContext;
? ? ? ? this.list = list;
? ? }

? ? @NonNull
? ? @Override
? ? public LeftViewHoler onCreateViewHolder(@NonNull ViewGroup viewGroup, int ViewType) {
? ? ? ? View view = LayoutInflater.from(mContext).inflate(R.layout.left_item, viewGroup,false);
? ? ? ? LeftViewHoler leftViewHoler=new LeftViewHoler(view);
? ? ? ? return leftViewHoler;
? ? }

? ? @Override
? ? public void onBindViewHolder(@NonNull LeftViewHoler leftViewHoler, int position) {
? ? ? ? leftViewHoler.textView.setText(list.get(position).getName());
? ? }

? ? @Override
? ? public int getItemCount() {
? ? ? ? return list.size();
? ? }


? ? public class LeftViewHoler extends RecyclerView.ViewHolder {
? ? ? ? private TextView textView;
? ? ? ? public LeftViewHoler(@NonNull View itemView) {
? ? ? ? ? ? super(itemView);
? ? ? ? ? ? textView=itemView.findViewById(R.id.tv_name);
? ? ? ? ? ? textView.setOnClickListener(new View.OnClickListener() {
? ? ? ? ? ? ? ? @Override
? ? ? ? ? ? ? ? public void onClick(View v) {
? ? ? ? ? ? ? ? ? ? onClickListener.onclick(v,getAdapterPosition());
? ? ? ? ? ? ? ? }
? ? ? ? ? ? });
? ? ? ? }
? ? }

? ? public interface OnClickListener{
? ? ? ? void onclick(View view,int position);
? ? }

? ? OnClickListener onClickListener;

? ? public void setOnclickListener(OnClickListener onclickListener){
? ? ? ? this.onClickListener=onclickListener;
? ? }
}

開(kāi)始右邊的了
//右邊的接口

public interface CallBackRight {
? ? void onSuccess2(List<RightBean.DataBean> list);
? ? void onFailer2(String error);
}

//右邊的Model層

public class RightModel {
? ?// private String path1="http://www.zhaoapi.cn/product/getProductCatagory?cid=3&tdsourcetag=s_pcqq_aiomsg";
? ? public void showright(final String cid2, final CallBackRight callBackRight){

? ? ? ? ? ? ? ? OkHttp okHttp=new OkHttp();
? ? ? ? ? ? ? ? okHttp.get(cid2).getDataLiserner(new OkHttp.GetData() {
? ? ? ? ? ? ? ? ? ? @Override
? ? ? ? ? ? ? ? ? ? public void Data(String s) {
? ? ? ? ? ? ? ? ? ? ? ? Gson gson=new Gson();
? ? ? ? ? ? ? ? ? ? ? ? RightBean json = gson.fromJson(s, RightBean.class);
? ? ? ? ? ? ? ? ? ? ? ? List<RightBean.DataBean> data = json.getData();
? ? ? ? ? ? ? ? ? ? ? ? if (data!=null){
? ? ? ? ? ? ? ? ? ? ? ? ? ? callBackRight.onSuccess2(data);
? ? ? ? ? ? ? ? ? ? ? ? }else {
? ? ? ? ? ? ? ? ? ? ? ? ? ? callBackRight.onFailer2("錯(cuò)誤");
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? });


? ? }
}

//右邊的Presenter層

public class RightPresenter {
? ? private final RightModel rightModel;
? ? private RightView rightView;

? ? public RightPresenter(RightView rightView) {
? ? ? ? this.rightView = rightView;
? ? ? ? rightModel = new RightModel();
? ? }

? ? public void showright(String id){
? ? ? ? rightModel.showright(id, new CallBackRight() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void onSuccess2(List<RightBean.DataBean> list) {
? ? ? ? ? ? ? ? rightView.onSuccess2(list);
? ? ? ? ? ? }

? ? ? ? ? ? @Override
? ? ? ? ? ? public void onFailer2(String error) {
? ? ? ? ? ? ? ? rightView.onFailer2(error);
? ? ? ? ? ? }
? ? ? ? });
? ? }
}

//右邊的View層

public interface RightView {
? ? void onSuccess2(List<RightBean.DataBean> list);
? ? void onFailer2(String error);
}

//右邊的適配器

public class RightRecycAdapter extends RecyclerView.Adapter<RightRecycAdapter.ViewHolder> {

? ? private Context mContext;
? ? private List<RightBean.DataBean> list;

? ? public RightRecycAdapter(Context mContext, List<RightBean.DataBean> list) {
? ? ? ? this.mContext = mContext;
? ? ? ? this.list = list;
? ? }

? ? @NonNull
? ? @Override
? ? public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int ViewType) {
? ? ? ? View view = LayoutInflater.from(mContext).inflate(R.layout.right_item, viewGroup, false);
? ? ? ? ViewHolder viewHolder=new ViewHolder(view);
? ? ? ? return viewHolder;
? ? }

? ? @Override
? ? public void onBindViewHolder(@NonNull ViewHolder viewHolder, int position) {
? ? ? ? viewHolder.textView.setText(list.get(position).getName());
? ? ? ? List<RightBean.DataBean.ListBean> list = this.list.get(position).getList();
? ? ? ? GridLayoutManager gridLayoutManager=new GridLayoutManager(mContext,3);
? ? ? ? viewHolder.recyclerView.setLayoutManager(gridLayoutManager);
? ? ? ? ChildAdapter childAdapter=new ChildAdapter(mContext,list);
? ? ? ? viewHolder.recyclerView.setAdapter(childAdapter);
? ? }

? ? @Override
? ? public int getItemCount() {
? ? ? ? return list.size();
? ? }

? ? public class ViewHolder extends RecyclerView.ViewHolder {
? ? ? ? private TextView textView;
? ? ? ? private RecyclerView recyclerView;
? ? ? ? public ViewHolder(@NonNull View itemView) {
? ? ? ? ? ? super(itemView);
? ? ? ? ? ? textView=itemView.findViewById(R.id.name);
? ? ? ? ? ? recyclerView=itemView.findViewById(R.id.right_recy);
? ? ? ? }
? ? }
}

//子類適配器

public class ChildAdapter extends RecyclerView.Adapter<ChildAdapter.ViewHolder> {

? ? private Context context;
? ? private List<RightBean.DataBean.ListBean> list;

? ? public ChildAdapter(Context context, List<RightBean.DataBean.ListBean> list) {
? ? ? ? this.context = context;
? ? ? ? this.list = list;
? ? }

? ? @NonNull
? ? @Override
? ? public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int ViewType) {
? ? ? ? View view = LayoutInflater.from(context).inflate(R.layout.child, viewGroup, false);
? ? ? ? ViewHolder viewHolder=new ViewHolder(view);
? ? ? ? return viewHolder;
? ? }

? ? @Override
? ? public void onBindViewHolder(@NonNull ViewHolder viewHolder, int position) {
? ? ? ? viewHolder.textView.setText(list.get(position).getName());
? ? ? ? Picasso.with(context).load(list.get(position).getIcon()).into(viewHolder.imageView);
? ? }

? ? @Override
? ? public int getItemCount() {
? ? ? ? return list.size();
? ? }

? ? public class ViewHolder extends RecyclerView.ViewHolder {
? ? ? ? private ImageView imageView;
? ? ? ? private TextView textView;
? ? ? ? public ViewHolder(@NonNull View itemView) {
? ? ? ? ? ? super(itemView);
? ? ? ? ? ? imageView=itemView.findViewById(R.id.image2);
? ? ? ? ? ? textView=itemView.findViewById(R.id.title1);
? ? ? ? }
? ? }
}

//開(kāi)始使用

public class Fragment1 extends Fragment implements LeftView,RightView {

? ? private View view;
? ? private RecyclerView left;
? ? private RecyclerView right;
? ? private RightPresenter rightPresenter;

? ? Handler handler=new Handler(){
? ? ? ? @Override
? ? ? ? public void handleMessage(Message msg) {
? ? ? ? ? ? super.handleMessage(msg);
? ? ? ? ? ? final List<LeftBean.DataBean> list = (List<LeftBean.DataBean>) msg.obj;
? ? ? ? ? ? LinearLayoutManager linearLayoutManager=new LinearLayoutManager(getActivity(),LinearLayoutManager.VERTICAL,false);
? ? ? ? ? ? left.setLayoutManager(linearLayoutManager);
? ? ? ? ? ? LeftRecycAdapter leftRecycAdapter=new LeftRecycAdapter(getActivity(),list);
? ? ? ? ? ? left.setAdapter(leftRecycAdapter);
? ? ? ? ? ? leftRecycAdapter.setOnclickListener(new LeftRecycAdapter.OnClickListener() {
? ? ? ? ? ? ? ? @Override
? ? ? ? ? ? ? ? public void onclick(View view, int position) {
? ? ? ? ? ? ? ? ? ? int cid = list.get(position).getCid();
? ? ? ? ? ? ? ? ? ? rightPresenter.showright("http://www.zhaoapi.cn/product/getProductCatagory?cid="+cid);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? });
? ? ? ? ? ? //List<RightBean.DataBean> list1 = (List<RightBean.DataBean>) msg.obj;

? ? ? ? }
? ? };

? ? @Nullable
? ? @Override
? ? public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
? ? ? ? view = inflater.inflate(R.layout.fragment_fragment1, container, false);
? ? ? ? initView();
? ? ? ? return view;
? ? }

? ? private void initView() {
? ? ? ? LeftPresenter leftPresenter=new LeftPresenter(this);
? ? ? ? leftPresenter.showLeft();
? ? ? ? left = (RecyclerView) view.findViewById(R.id.left_recy);
? ? ? ? right = (RecyclerView) view.findViewById(R.id.right_recy);
? ? ? ? rightPresenter = new RightPresenter(this);
? ? }

? ? @Override
? ? public void onSuccess(List<LeftBean.DataBean> list) {
? ? ? ? Message message = Message.obtain();
? ? ? ? message.obj=list;
? ? ? ? handler.sendMessage(message);
? ? }

? ? @Override
? ? public void Failer(String error) {

? ? }

? ? @Override
? ? public void onSuccess2(final List<RightBean.DataBean> list) {
? ? ? ? /*Message message = Message.obtain();
? ? ? ? message.obj=list;
? ? ? ? handler.sendMessage(message);*/


? ? ? ? ? ? ? ? handler.post(new Runnable() {
? ? ? ? ? ? ? ? ? ? @Override
? ? ? ? ? ? ? ? ? ? public void run() {
? ? ? ? ? ? ? ? ? ? ? ? LinearLayoutManager linear= new LinearLayoutManager(getActivity(),LinearLayoutManager.VERTICAL,false);
? ? ? ? ? ? ? ? ? ? ? ? right.setLayoutManager(linear);
? ? ? ? ? ? ? ? ? ? ? ? RightRecycAdapter rightRecycAdapter=new RightRecycAdapter(getActivity(),list);
? ? ? ? ? ? ? ? ? ? ? ? right.setAdapter(rightRecycAdapter);

? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? });

}
? ? @Override
? ? public void onFailer2(String error) {

? ? }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

汽车| 个旧市| 钟祥市| 晋江市| 友谊县| 兴业县| 勐海县| 成都市| 绵竹市| 延川县| 思南县| 商南县| 中江县| 孝昌县| 合肥市| 遵义县| 宁国市| 余江县| 三门县| 赣榆县| 宣威市| 确山县| 抚顺县| 凤冈县| 重庆市| 古田县| 安泽县| 汤阴县| 饶河县| 连州市| 鄂尔多斯市| 大同市| 四川省| 潢川县| 吴桥县| 沾化县| 天等县| 阳朔县| 浑源县| 嘉黎县| 合山市|