//fragment代码
package com.example.jingdongdeom.Fragment; import android.content.Context; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Adapter; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import com.example.jingdongdeom.Activity.SerachActivity; import com.example.jingdongdeom.Bean.FlBean; import com.example.jingdongdeom.R; import com.example.jingdongdeom.utils.BaseObserver; import com.example.jingdongdeom.utils.RetrofitManager; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Created by huoxuebin on 2018/4/20. */ public class Fragment_fenlei extends Fragment { private ListView listView; private FrameLayout frameLayout; private ImageView serach; ArrayList<String> list = new ArrayList<>(); private int selectedPosition; private List<FlBean.DataBean> data; private ListAdapter aa; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable final ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_fenlei, container, false); listView = view.findViewById(R.id.list_item); frameLayout = view.findViewById(R.id.framelayout); serach = view.findViewById(R.id.serach); //点击搜索框跳转 serach.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(getActivity(), SerachActivity.class); startActivity(intent); } }); //请求左边listview数据 Map<String,String> map = new HashMap<>(); RetrofitManager.get("product/getCatagory", map, new BaseObserver<FlBean>() { @Override public void success(FlBean flBean) { data = flBean.getData(); aa = new ListAdapter(data,getActivity()); listView.setAdapter(aa); } @Override public void failure(int code) { } }); //左侧listview点击变色 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { int cid = data.get(i).getCid(); Fenleifragment fenleifragment = new Fenleifragment(); getChildFragmentManager().beginTransaction().replace(R.id.framelayout,fenleifragment).commit(); //传值fenleifragment Bundle bundle = new Bundle(); bundle.putInt("cid",cid); fenleifragment.setArguments(bundle); } }); return view; } class ListAdapter extends BaseAdapter { List<FlBean.DataBean> data; Context context; private int selectedPosition = 0;// 选中的位置 public ListAdapter(List<FlBean.DataBean> data, Context context) { this.data = data; this.context = context; } @Override public int getCount() { return data.size(); } @Override public Object getItem(int i) { return data.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(final int i, View view, ViewGroup viewGroup) { View view1 = View.inflate(context, R.layout.textview, null); final TextView text = view1.findViewById(R.id.textview); text.setText(data.get(i).getName()); return view1; } } } //fragment布局fromlayout<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:orientation="vertical" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="40dp" android:orientation="horizontal"> <ImageView android:id="@+id/saoyisao" android:src="@drawable/sao_hei" android:layout_width="0dp" android:layout_weight="1" android:layout_gravity="center" android:layout_height="30dp" /> <ImageView android:id="@+id/serach" android:background="@drawable/srk" android:layout_width="0dp" android:layout_height="40dp" android:layout_weight="8"/> <ImageView android:background="@drawable/msg_hei" android:layout_width="0dp" android:layout_gravity="center" android:layout_height="30dp" android:layout_weight="1"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <ListView android:background="#f4f5f7" android:scrollbars="none" android:id="@+id/list_item" android:layout_width="0dp" android:layout_gravity="center_horizontal" android:layout_height="match_parent" android:layout_weight="1.5"> </ListView> <FrameLayout android:id="@+id/framelayout" android:layout_weight="4" android:layout_width="0dp" android:layout_height="match_parent"></FrameLayout> </LinearLayout> </LinearLayout>
package com.example.jingdongdeom.Fragment; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.example.jingdongdeom.Adapter.FenleiwaicengAdapter; import com.example.jingdongdeom.Bean.FenleiBean; import com.example.jingdongdeom.R; import com.example.jingdongdeom.utils.BaseObserver; import com.example.jingdongdeom.utils.RetrofitManager; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Created by huoxuebin on 2018/4/24. */ public class Fenleifragment extends Fragment { private RecyclerView recyclerView; private int cid; private List<FenleiBean.DataBean> data; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fenleifragment, container, false); recyclerView = view.findViewById(R.id.recy1); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); cid = getArguments().getInt("cid"); Map<String, String> params = new HashMap<>(); params.put("cid", String.valueOf(cid)); RetrofitManager.post("product/getProductCatagory", params, new BaseObserver<FenleiBean>() { @Override public void success(FenleiBean fenleiBean) { data = fenleiBean.getData(); /* FenleituijianBean fenleituijianBean = new Gson().fromJson(json, FenleituijianBean.class); data = fenleituijianBean.getData(); recyclerView.setLayoutManager(new LinearLayoutManager(getContext(),LinearLayoutManager.VERTICAL,false)); FenleirecyAdapater adapater = new FenleirecyAdapater(data,getContext()); recyclerView.setAdapter(adapater);*/ recyclerView.setLayoutManager(new LinearLayoutManager(getContext(),LinearLayoutManager.VERTICAL,false)); FenleiwaicengAdapter fenleiwaicengAdapter = new FenleiwaicengAdapter(data,getContext()); recyclerView.setAdapter(fenleiwaicengAdapter); } @Override public void failure(int code) { } }); } }//布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:orientation="vertical" android:layout_height="match_parent"> <ImageView android:background="@drawable/bin" android:layout_width="match_parent" android:layout_height="80dp" /> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/recy1"> </android.support.v7.widget.RecyclerView> </LinearLayout>
//内层是适配器
package com.example.jingdongdeom.Adapter; import android.content.Context; import android.content.Intent; import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; import com.bumptech.glide.Glide; import com.example.jingdongdeom.Activity.ZhanShiActivity; import com.example.jingdongdeom.Bean.FenleiBean; import com.example.jingdongdeom.Holder.NeiHolder; import com.example.jingdongdeom.R; import java.util.List; /** * Created by huoxuebin on 2018/4/24. */ public class FenleineicengAdapter extends RecyclerView.Adapter<NeiHolder> { List<FenleiBean.DataBean.ListBean> list; Context context; private OnItemClicklistener onItemClickListner; public FenleineicengAdapter(List<FenleiBean.DataBean.ListBean> list, Context context) { this.list = list; this.context = context; } @Override public NeiHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = View.inflate(context, R.layout.fenleineiceng, null); NeiHolder neiHolder = new NeiHolder(view); return neiHolder; } @Override public void onBindViewHolder(NeiHolder holder, final int position) { holder.neiname.setText(list.get(position).getName()); Glide.with(context).load(list.get(position).getIcon()).into(holder.neiimg); //跳转到展示页面 holder.neiimg.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String name = list.get(position).getName(); Intent intent = new Intent(context, ZhanShiActivity.class); intent.putExtra("name", name); context.startActivity(intent); } }); } @Override public int getItemCount() { return list.size(); } //跳转接口 public interface OnItemClicklistener { void onItemClick(View view, int position); //void onItemLongClick(View view,int position); } public void setOnItemClickListner(OnItemClicklistener onItemClickListner) { this.onItemClickListner = onItemClickListner; } }
//外层适配器
package com.example.jingdongdeom.Adapter; import android.content.Context; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; import com.example.jingdongdeom.Bean.FenleiBean; import com.example.jingdongdeom.R; import java.util.List; /** * Created by huoxuebin on 2018/4/24. */ public class FenleiwaicengAdapter extends RecyclerView.Adapter<FenleiwaiHolder> { List<FenleiBean.DataBean> data; Context context; public FenleiwaicengAdapter(List<FenleiBean.DataBean> data, Context context) { this.data = data; this.context = context; } @Override public FenleiwaiHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = View.inflate(context, R.layout.fenleiwaiceng, null); FenleiwaiHolder fenleiwaiHolder = new FenleiwaiHolder(view); return fenleiwaiHolder; } @Override public void onBindViewHolder(FenleiwaiHolder holder, int position) { List<FenleiBean.DataBean.ListBean> list = data.get(position).getList(); holder.wainame.setText(list.get(position).getName()); holder.recyclerView.setLayoutManager(new GridLayoutManager(context, 3, GridLayoutManager.VERTICAL, false)); holder.recyclerView.setAdapter(new FenleineicengAdapter(list, context)); } @Override public int getItemCount() { return data.size(); } }
//外层布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:orientation="vertical" android:padding="5dp" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="30dp" android:text="aaa" android:textSize="20dp" android:id="@+id/wainame" /> <android.support.v7.widget.RecyclerView android:id="@+id/wairy" android:layout_width="match_parent" android:layout_height="wrap_content"> </android.support.v7.widget.RecyclerView> </LinearLayout> //内层布局<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:orientation="vertical" android:padding="10dp" android:layout_height="wrap_content"> <ImageView android:id="@+id/neicengimg" android:layout_gravity="center" android:layout_width="50dp" android:layout_height="50dp" /> <TextView android:id="@+id/neicengname" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="aa"/> </LinearLayout>
//接口
package com.example.jingdongdeom.jiekou; import android.view.View; /** * Created by huoxuebin on 2018/4/20. */ public interface OnItemClickListener { void onItemClick(int position); }