//主页面布局
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.stx.xhb.xbanner.XBanner
android:id="@+id/home_xbanner"
android:layout_width="match_parent"
android:layout_height="200dp"
></com.stx.xhb.xbanner.XBanner>
<android.support.v7.widget.RecyclerView
android:id="@+id/fenlei_recycler"
android:layout_width="match_parent"
android:layout_height="200dp"></android.support.v7.widget.RecyclerView>
<android.support.v7.widget.RecyclerView
android:id="@+id/maiosha_recycler"
android:layout_width="match_parent"
android:layout_height="100dp"></android.support.v7.widget.RecyclerView>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:background="#ccc">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="为您推荐"
android:layout_centerHorizontal="true"
android:textSize="20dp"/>
</RelativeLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/tuijian_recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"></android.support.v7.widget.RecyclerView>
</LinearLayout>
</ScrollView>
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
//详情布局
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="9"
android:orientation="vertical">
<com.stx.xhb.xbanner.XBanner
android:id="@+id/xiangqing_xbanner"
android:layout_width="match_parent"
android:layout_height="330dp"></com.stx.xhb.xbanner.XBanner>
<TextView
android:id="@+id/xiangqing_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dp"
android:text="text"
android:layout_margin="10dp"/>
<TextView
android:id="@+id/xiangqing_subhead"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dp"
android:text="text"
android:layout_marginLeft="10dp"
android:textColor="#f00"/>
<TextView
android:id="@+id/xiangqing_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="text"
android:textSize="20dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/xiangqing_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:textSize="20dp"
android:text="加入购物车"
android:background="#ff3300"
android:ems="6"/>
</RelativeLayout>
</LinearLayout>
//V层
public class HomeFragment extends BaseFragment<HomePresenter> implements HomeView{
private XBanner xBanner;
private List<String> imgs=new ArrayList<>();
private RecyclerView recyclerView1;
private RecyclerView recyclerView2;
private RecyclerView recyclerView3;
@Override
protected void initData() {
presenter.home();
}
@Override
protected void initListener() {
}
@Override
protected void initView() {
xBanner = getView().findViewById(R.id.home_xbanner);
recyclerView1 = getView().findViewById(R.id.fenlei_recycler);
recyclerView2 = getView().findViewById(R.id.maiosha_recycler);
recyclerView3 = getView().findViewById(R.id.tuijian_recycler);
}
@Override
protected HomePresenter providePresenter() {
return new HomePresenter(this);
}
@Override
protected int provideLayoutId() {
return R.layout.home_fragment;
}
@Override
public void onHomeSuccess(HomeBean homeBean) {
String code = homeBean.getCode();
String msg = homeBean.getMsg();
if (code.equals("0")){
Log.e("home", "onHomeSuccess: 成功"+msg );
List<HomeBean.DataBean.BannerBean> banner = homeBean.getData().getBanner();
for (int i = 0; i < banner.size(); i++) {
imgs.add(banner.get(i).getIcon());
}
xBanner.setData(imgs,null);
xBanner.setmAdapter(new XBanner.XBannerAdapter() {
@Override
public void loadBanner(XBanner banner, Object model, View view, int position) {
Glide.with(getActivity()).load(imgs.get(position)).into((ImageView)view);
}
});
xBanner.setPageTransformer(Transformer.Default);
xBanner.setPageChangeDuration(1000);
//分类
List<HomeBean.DataBean.FenleiBean> fenlei = homeBean.getData().getFenlei();
FenLeiRecyclerAdapter fenLeiRecyclerAdapter = new FenLeiRecyclerAdapter(fenlei);
GridLayoutManager gridLayoutManager1 = new GridLayoutManager(getContext(), 2);
gridLayoutManager1.setOrientation(GridLayoutManager.HORIZONTAL);
recyclerView1.setLayoutManager(gridLayoutManager1);
recyclerView1.setAdapter(fenLeiRecyclerAdapter);
//秒杀
List<HomeBean.DataBean.MiaoshaBean.ListBean> miaosha = homeBean.getData().getMiaosha().getList();
MiaoShaRecyclerAdapter miaoShaRecyclerAdapter = new MiaoShaRecyclerAdapter(miaosha);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
recyclerView2.setLayoutManager(linearLayoutManager);
recyclerView2.setAdapter(miaoShaRecyclerAdapter);
final List<HomeBean.DataBean.TuijianBean.ListBeanX> tuijian = homeBean.getData().getTuijian().getList();
//推荐
TuiJianRecyclerAdapter tuiJianRecyclerAdapter = new TuiJianRecyclerAdapter(tuijian);
GridLayoutManager gridLayoutManager2 = new GridLayoutManager(getContext(), 2);
recyclerView3.setLayoutManager(gridLayoutManager2);
recyclerView3.setAdapter(tuiJianRecyclerAdapter);
tuiJianRecyclerAdapter.setOnItemClickListener(new TuiJianRecyclerAdapter.OnItemClickListener() {
@Override
public void onItemClick(View view, int postion) {
int pid = tuijian.get(postion).getPid();
Intent intent = new Intent(getActivity(), HomeActivity.class);
intent.putExtra("pid",pid);
startActivity(intent);
}
});
}else {
Log.e("home", "onHomeSuccess: 失败"+msg );
}
}
@Override
public void onHomeFaild(String error) {
Log.e("home", "onHomeSuccess: 错误"+error );
}
@Override
public void onXiangSuccess(XiangQingBean xiangQingBean) {
}
@Override
public void onXiangFaild(String error) {
}
@Override
public void onAddSuccess(HomeAddBean homeAddBean) {
}
@Override
public void onAddFaild(String error) {
}
@Override
public Context context() {
return getActivity();
}
@Override
public void onDestroy() {
super.onDestroy();
}
}
//详情
public class HomeActivity extends BaseActivity<HomePresenter> implements HomeView {
private XBanner xBanner;
private TextView title,subhead,price;
private int pid;
private List<String> imgs=new ArrayList<>();
private Button button;
@Override
protected void initData() {
presenter.query(pid);
}
@Override
protected void initListener() {
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
presenter.add(pid);
}
});
}
@Override
protected void initView() {
xBanner = findViewById(R.id.xiangqing_xbanner);
title = findViewById(R.id.xiangqing_title);
subhead=findViewById(R.id.xiangqing_subhead);
price=findViewById(R.id.xiangqing_price);
button = findViewById(R.id.xiangqing_button);
Intent intent = getIntent();
pid = intent.getIntExtra("pid", 0);
}
@Override
protected HomePresenter providePresenter() {
return new HomePresenter(this);
}
@Override
protected int provideLayoutId() {
return R.layout.activity_home;
}
@Override
public void onHomeSuccess(HomeBean homeBean) {
}
@Override
public void onHomeFaild(String error) {
}
@Override
public void onXiangSuccess(XiangQingBean xiangQingBean) {
String code = xiangQingBean.getCode();
String msg = xiangQingBean.getMsg();
if (code.equals("0")){
Log.e("xiangqing", "onHomeSuccess: 成功"+msg );
XiangQingBean.DataBean data = xiangQingBean.getData();
title.setText(data.getTitle());
price.setText("¥"+data.getPrice());
subhead.setText(data.getSubhead());
String[] split = data.getImages().split("\\|");
List<String> list = Arrays.asList(split);
for (int i = 0; i < list.size(); i++) {
imgs.add(split[i]);
}
xBanner.setData(imgs,null);
xBanner.setmAdapter(new XBanner.XBannerAdapter() {
@Override
public void loadBanner(XBanner banner, Object model, View view, int position) {
Glide.with(HomeActivity.this).load(imgs.get(position)).into((ImageView) view);
}
});
xBanner.setPageTransformer(Transformer.Default);
xBanner.setPageChangeDuration(1000);
}else {
Log.e("xiangqing", "onHomeSuccess: 失败"+msg );
}
}
@Override
public void onXiangFaild(String error) {
}
@Override
public void onAddSuccess(HomeAddBean homeAddBean) {
String code = homeAddBean.getCode();
String msg = homeAddBean.getMsg();
if (code.equals("0")){
Toast.makeText(HomeActivity.this,""+msg,Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(HomeActivity.this,""+msg,Toast.LENGTH_SHORT).show();
}
}
@Override
public void onAddFaild(String error) {
}
@Override
public Context context() {
return this;
}
@Override
protected void onDestroy() {
super.onDestroy();
}
}