SoFunction
Updated on 2025-03-11

Android shopping classification effect is realized

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&lt;&gt; 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&lt;String, String&gt; map = new HashMap&lt;&gt;();
    ("cid",position+1+"");

    ().doPost(urlString2,map,new () {
      @Override
      public void onResponse(String json) {

        RightBean rightBean = new Gson().fromJson(json,);
        List&lt;&gt; 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 &lt;&gt;{
  private Context mContext;
  ArrayList&lt;&gt; list;

  public LeftAdapter(Context context) {
    mContext = context;
    list = new ArrayList&lt;&gt;();
  }

  public void setDatas(List&lt;&gt; 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&lt;String,String&gt; 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 &amp;&amp; ()){
            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 &amp;&amp; ()) {
            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.