package com.example.huoxuebin.myapplication.Fragment; import android.content.Intent; import android.os.Bundle; import android.os.Handler; 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.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.ListView; import android.widget.TextView; ; import com.example.huoxuebin.myapplication.Adapter.RecyclerViewAdapter; import com.example.huoxuebin.myapplication.Bean.SerachBean; import com.example.huoxuebin.myapplication.Main2Activity; import com.example.huoxuebin.myapplication.R; import com.example.huoxuebin.myapplication.jiekou.IMF1; import com.example.huoxuebin.myapplication.jiekou.OnItemClickListner; import com.example.huoxuebin.myapplication.presenter.SerachPresenter; import com.jcodecraeer.xrecyclerview.XRecyclerView; import java.util.List; /** * Created by huoxuebin on 2018/4/5. */ public class F1 extends Fragment implements IMF1 { private ListView listView; private TextView name; private Button button; private String sname; private SerachPresenter serachPresenter; private XRecyclerView xRecyclerView; private int page=1; private List<SerachBean.DataBean> data; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.f1, container, false); xRecyclerView = view.findViewById(R.id.xry); serachPresenter = new SerachPresenter(this); serachPresenter.getdata("product/getProducts",page); xRecyclerView.setLoadingListener(new XRecyclerView.LoadingListener() { @Override public void onRefresh() { Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { data.clear(); serachPresenter.getdata("product/getProducts",page); xRecyclerView.refreshComplete(); } },2000); } @Override public void onLoadMore() { new Handler().postDelayed(new Runnable() { @Override public void run() { page++; serachPresenter.getdata("product/getProducts",page); xRecyclerView.loadMoreComplete(); } },2000); } }); return view; } @Override public void onsuccess(final SerachBean serachBean) { getActivity().runOnUiThread(new Runnable() { @Override public void run() { data = serachBean.getData(); Log.d("++++","---"+ data); //展示管理器 //展示管理器 xRecyclerView. setLayoutManager(new LinearLayoutManager(getActivity(),LinearLayoutManager.VERTICAL,false)); //适配器 RecyclerViewAdapter adapter = new RecyclerViewAdapter(data,getActivity()); //进入详情页面 adapter.setOnitemClickListner(new OnItemClickListner() { @Override public void OnItemClick(int position) { int pid = data.get(position).getPid(); Intent intent = new Intent(getContext(),Main2Activity.class); intent.putExtra("pid",pid); startActivity(intent); } }); //开启适配器 xRecyclerView.setAdapter(adapter); } }); } } //布局<?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"> <!-- <android.support.v7.widget.RecyclerView android:id="@+id/ry" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v7.widget.RecyclerView>--> <com.jcodecraeer.xrecyclerview.XRecyclerView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/xry" ></com.jcodecraeer.xrecyclerview.XRecyclerView> </LinearLayout>
//适配器package com.example.huoxuebin.myapplication.Adapter; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.bumptech.glide.Glide; import com.example.huoxuebin.myapplication.Bean.SerachBean; import com.example.huoxuebin.myapplication.Holder.ZhanshiHolder; import com.example.huoxuebin.myapplication.R; import com.example.huoxuebin.myapplication.jiekou.OnItemClickListner; import java.util.List; /** * Created by huoxuebin on 2018/4/7. */ public class RecyclerViewAdapter extends RecyclerView.Adapter<ZhanshiHolder> { private OnItemClickListner onitemClickListner; List<SerachBean.DataBean> data; Context context; public RecyclerViewAdapter(List<SerachBean.DataBean> data, Context context) { this.data = data; this.context = context; } @Override public ZhanshiHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.listview, parent, false); ZhanshiHolder holder = new ZhanshiHolder(view); return holder; } @Override public void onBindViewHolder(ZhanshiHolder holder, final int position) { //赋值 //优惠价 holder.zhekoujia.setText("优惠价"+data.get(position).getBargainPrice()+""); //价钱 holder.price.setText("原价:"+data.get(position).getPrice()+""); //图片 //分割 String images = data.get(position).getImages(); String[] split = images.split("\\|"); //图片 Glide.with(context).load(split[0]).into(holder.img); holder.title.setText(data.get(position).getTitle()); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { onitemClickListner.OnItemClick(position); } }); } @Override public int getItemCount() { return data.size(); } public void setOnitemClickListner(OnItemClickListner onitemClickListner){ this.onitemClickListner =onitemClickListner; } } //接口//接口package com.example.huoxuebin.myapplication.jiekou; /** * Created by huoxuebin on 2018/1/19. */ public interface OnItemClickListner { void OnItemClick(int position); }
package com.example.huoxuebin.myapplication.jiekou; /** * Created by huoxuebin on 2018/1/19. */ public interface OnItemClicklistener { void OnItemClicklistener(int position); }
//详情package com.example.huoxuebin.myapplication; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.widget.TextView; import com.example.huoxuebin.myapplication.Bean.XiangqingBean; import com.example.huoxuebin.myapplication.grlide.Grlide; import com.example.huoxuebin.myapplication.utils.utils.BaseObserver; import com.example.huoxuebin.myapplication.utils.utils.RetrofitManager; import com.youth.banner.Banner; import com.youth.banner.listener.OnBannerListener; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class Main2Activity extends AppCompatActivity { private int pid; private TextView tiele; private TextView price; private TextView zhekou; private Banner banner; List<String> list = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); banner = findViewById(R.id.banner); tiele = findViewById(R.id.x_title); price = findViewById(R.id.x_price); zhekou = findViewById(R.id.x_zhekou); banner.setOnBannerListener(new OnBannerListener() { @Override public void OnBannerClick(int position) { Intent intent1 = new Intent(Main2Activity.this,Main3Activity.class); intent1.putStringArrayListExtra("list", (ArrayList<String>) list); startActivity(intent1); } }); //接受值 final Intent intent = getIntent(); pid = intent.getIntExtra("pid", 0); Log.d("Tag","hhh"+ pid); Map<String,String> map = new HashMap<>(); map.put("pid", String.valueOf(pid)); RetrofitManager.get("product/getProductDetail", map, new BaseObserver<XiangqingBean>() { @Override public void success(XiangqingBean xiangqingBean) { String images = xiangqingBean.getData().getImages(); final String name = xiangqingBean.getData().getTitle(); final double sprice = xiangqingBean.getData().getPrice(); final double bargainPrice = xiangqingBean.getData().getBargainPrice(); // Log.d("?????","aaaa"+images); String[] split = images.split("\\|"); for(String string:split){ list.add(string); } runOnUiThread(new Runnable() { @Override public void run() { //详情页面轮播 banner.setImageLoader(new Grlide()); banner.setDelayTime(3000); banner.isAutoPlay(false); banner.setImages(list); banner.start(); //详情标题,价钱 tiele.setText(name); price.setText("原价"+sprice+""); zhekou.setText("优惠价"+bargainPrice+""); } }); } @Override public void failure(int code) { } }); } }//布局<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.huoxuebin.myapplication.Main2Activity"> <TextView android:layout_width="wrap_content" android:layout_height="40dp" android:textSize="30dp" /> <com.youth.banner.Banner android:id="@+id/banner" android:layout_width="match_parent" android:layout_height="500dp"> </com.youth.banner.Banner> <TextView android:id="@+id/x_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="111" /> <TextView android:id="@+id/x_price" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="111" /> <TextView android:id="@+id/x_zhekou" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="111" android:textColor="#f00" /> <Button android:onClick="shop" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="加入购物车"/> </LinearLayout>
//依赖compile 'com.android.support.constraint:constraint-layout:1.0.2' compile 'com.jcodecraeer:xrecyclerview:1.5.9' compile 'io.reactivex.rxjava2:rxjava:2.0.7' compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'com.squareup.retrofit2:retrofit:2.1.0' compile 'com.squareup.retrofit2:adapter-rxjava2:2.2.0' compile 'com.squareup.retrofit2:converter-gson:2.1.0' compile 'com.squareup.retrofit2:converter-scalars:2.1.0' compile 'com.github.bumptech.glide:glide:3.6.1' compile 'com.youth.banner:banner:1.4.9' compile 'com.dou361.ijkplayer:jjdxm-ijkplayer:1.0.5' testCompile 'junit:junit:4.12' compile 'com.android.support:design:26.0.0-alpha1' compile 'com.hjm:BottomTabBar:1.1.1'
展示适配器 布局接口回调
最新推荐文章于 2022-11-26 20:55:51 发布