This article shares the specific code for displaying Android shopping classification effects for your reference. The specific content is as follows
public class SecondActivity extends AppCompatActivity{ private ViewPager mPager; private RadioGroup mRadioGroup; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { (savedInstanceState); setContentView(); mPager = findViewById(); mRadioGroup = findViewById(); (new FragmentPagerAdapter(getSupportFragmentManager()) { @Override public Fragment getItem(int position) { Fragment fragment=null; switch (position){ case 0: fragment = new Afrag(); break; case 1: fragment = new Bfrag(); break; case 2: fragment = new Cfrag(); break; } return fragment; } @Override public int getCount() { return 3; } }); (new () { @Override public void onCheckedChanged(RadioGroup radioGroup, int i) { switch (i){ case .r1: (0); break; case .r2: (1); break; case .r3: (2); break; } } }); } }
<LinearLayout xmlns:andro android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <. android: android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="13"/> <RadioGroup android: android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="horizontal"> <RadioButton android: android:layout_width="wrap_content" android:layout_weight="1" android:layout_height="match_parent" android:button="@null" android:gravity="center" android:text="front page"/> <RadioButton android: android:layout_width="wrap_content" android:layout_weight="1" android:layout_height="match_parent" android:button="@null" android:gravity="center" android:text="Classification"/> <RadioButton android: android:layout_width="wrap_content" android:layout_weight="1" android:layout_height="match_parent" android:button="@null" android:gravity="center" android:text="Shopping cart"/> </RadioGroup> </LinearLayout>
public class Afrag extends Fragment{ private RecyclerView mRecyclerView; public String urlString="/tools/mockapi/6523/restaurants_offset_0_limit_4 "; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = (getActivity(), , null); mRecyclerView = (); initData(); return view; } private void initData() { OkHttps okHttps = (); (urlString, new () { @Override public void onResponse(String json) { //Flower PubuBean pubuBean = new Gson().fromJson(json,); List<> results = (); PubuAdapter pubuAdapter = new PubuAdapter(getActivity()); (results); (pubuAdapter); StaggeredGridLayoutManager manager = new StaggeredGridLayoutManager(2, ); (manager); } @Override public void onFailure(Exception e) { } }); } }
<LinearLayout xmlns:andro android:layout_width="match_parent" android:layout_height="match_parent"> <. android: android:layout_width="match_parent" android:layout_height="match_parent"/> </LinearLayout>
public class PubuAdapter extends <>{ private Context mContext; ArrayList<> list; public PubuAdapter(Context context) { mContext = context; list = new ArrayList<>(); } public void setDatas(List<> datas) { (datas); } @NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = (mContext, , null); ViewHolder holder = new ViewHolder(view); return holder; } @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { ((position).getName()); (mContext).load((position).getPic_url()).into(); } @Override public int getItemCount() { return (); } public class ViewHolder extends { ImageView mImageView; TextView mTextView; public ViewHolder(View itemView) { super(itemView); mImageView = (); mTextView = (.t1); } } }
public class Bfrag extends Fragment{ private RecyclerView mRecyclerView; LeftAdapter adapter; String urlString="/product/getCatagory"; String urlString2="/product/getProductCatagory"; private RecyclerView mRecyclerView2; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = (getActivity(), , null);//Category Page mRecyclerView = (.rv1); //Left list mRecyclerView2 = (.rv2); //right initData(); return view; } private void initData() { OkHttps okHttps = (); (urlString, new () { @Override public void onResponse(String json) { //Flower LeftBean leftBean = new Gson().fromJson(json,); List<> results = (); adapter = new LeftAdapter(getActivity()); (results); (adapter); (new LinearLayoutManager(getActivity(),,false)); (new () { @Override public void onItemClick(int position) { //(getActivity(),position+"",Toast.LENGTH_SHORT).show(); rigth(position); } }); } @Override public void onFailure(Exception e) { } }); } public void rigth(int position){ HashMap<String, String> map = new HashMap<>(); ("cid",position+1+""); ().doPost(urlString2,map,new () { @Override public void onResponse(String json) { RightBean rightBean = new Gson().fromJson(json,); List<> results = (); RightAdapter rightAdapter = new RightAdapter(getActivity()); (results); (rightAdapter); (new GridLayoutManager(getActivity(),3)); } @Override public void onFailure(Exception e) { } }); } }
<. android: android:layout_width="0dp" android:layout_weight="2" android:layout_height="match_parent"/> <. android: android:layout_width="0dp" android:layout_weight="10" android:layout_height="match_parent"/> </LinearLayout>
public class LeftAdapter extends <>{ private Context mContext; ArrayList<> list; public LeftAdapter(Context context) { mContext = context; list = new ArrayList<>(); } public void setDatas(List<> datas) { (datas); } public interface OnItemClickListener{ //Custom interface callback setting click event void onItemClick(int position); } private OnItemClickListener mOnItemClickListener; public void setOnItemClickListener(OnItemClickListener onItemClickListener){ mOnItemClickListener=onItemClickListener; } @NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = (mContext, , null); ViewHolder holder = new ViewHolder(view); return holder; } @Override public void onBindViewHolder(@NonNull final ViewHolder holder, int position) { ((position).getName()); (new () { @Override public void onClick(View view) { int position1 = (); (position1); } }); } @Override public int getItemCount() { return (); } public class ViewHolder extends { TextView mTextView; public ViewHolder(View itemView) { super(itemView); mTextView = (.text1); } } }
public class RightAdapter extends <>{ private Context mContext; ArrayList<> list; public RightAdapter(Context context) { mContext = context; list = new ArrayList<>(); } public void setDatas(List<> datas) { (datas); } @NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = (mContext, , null); ViewHolder holder = new ViewHolder(view); return holder; } @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { ((position).getName()); (mContext).load((position).getList().get(position).getIcon()).into(); } @Override public int getItemCount() { return (); } public class ViewHolder extends { ImageView mImageView; TextView mTextView; public ViewHolder(View itemView) { super(itemView); mImageView = (.image1); mTextView = (.text2); } } }
public class OkHttps { Handler handler; private final OkHttpClient mOkHttpClient; private static OkHttps mOkHttps; private OkHttps() { handler = new Handler(()); LoggingInterceptor loggingInterceptor = new LoggingInterceptor(); //Log Interceptor mOkHttpClient = new () .addInterceptor(loggingInterceptor) //Set log interceptor .connectTimeout(5000, ) .readTimeout(5000,) .writeTimeout(5000,) .build(); } public static OkHttps getInstance(){ if (mOkHttps==null){ synchronized (){ if (mOkHttps==null){ return mOkHttps=new OkHttps(); } } } return mOkHttps; } public interface OkCallback{ void onResponse(String json); void onFailure(Exception e); } public void doPost(String url, Map<String,String> map, final OkCallback okCallback){ builder = new (); if (map!=null){ for (String key:()){ (key,(key)); } } FormBody formBody = (); final Request request = new () .post(formBody) .url(url) .build(); Call call = (request); (new Callback() { @Override public void onFailure(Call call, final IOException e) { if (okCallback!=null){ (new Runnable() { @Override public void run() { (e); } }); } } @Override public void onResponse(Call call, Response response) throws IOException { try { if (response!=null && ()){ final String json = ().string(); (new Runnable() { @Override public void run() { if (okCallback!=null){ (json); return; } } }); } }catch (IOException e){ (); } if (okCallback!=null){ (new Exception("Network exception")); } } }); } public void doGet(String url, final OkCallback okCallback){ Request request = new () .url(url) .build(); Call call = (request); (new Callback() { @Override public void onFailure(Call call, final IOException e) { if (okCallback != null) { //Switch to main thread (new Runnable() { @Override public void run() { (e); } }); } } @Override public void onResponse(Call call, Response response) throws IOException { try { if (response != null && ()) { final String json = ().string(); (new Runnable() { @Override public void run() { if (okCallback != null) { (json); } } }); } } catch (IOException e) { (); } } }); } }
rely
implementation ':gson:2.8.5' implementation '.okhttp3:okhttp:3.12.0' implementation ':recyclerview-v7:27.1.1' implementation ':glide:3.7.0'
//Interceptor
class LoggingInterceptor implements Interceptor { @Override public Response intercept(Chain chain) throws IOException { //Get the Request object Request request = (); long t1 = (); (" request = " + ("Sending request %s on %s%n%s", (), (), ())); //Get the Response object Response response = (request); long t2 = (); //How long does it take to get the request network? ("response " + ("Received response for %s in %.1fms%n%s", ().url(), (t2 - t1) / 1e6d, ())); return response; } }
The above is all the content of this article. I hope it will be helpful to everyone's study and I hope everyone will support me more.