package com.example.day1.base.friagemnt1; import android.os.Bundle; import androidx.fragment.app.Fragment; import androidx.lifecycle.Observer; import androidx.recyclerview.widget.LinearLayoutManager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.example.day1.R; import com.example.day1.base.Apdata.Shangpinadpata; import com.example.day1.base.Apdata.Shangpinxinxiapdata; import com.example.day1.base.Entity.ShopEnity; import com.example.day1.base.Entity.ShopTypeEntiy; import com.example.day1.base.View.BaseFragment; import com.example.day1.base.Viewmodel.Shopviewmodel; import com.example.day1.databinding.FragmentShangpinBinding; import java.util.List; public class shangpinFragment extends BaseFragment<FragmentShangpinBinding, Shopviewmodel> { Shangpinadpata shangpinadpata; int id=1; int size=14; Shangpinxinxiapdata shangpinxinxiapdata; public static shangpinFragment newInstance() { shangpinFragment fragment = new shangpinFragment(); Bundle args = new Bundle(); fragment.setArguments(args); return fragment; } @Override protected void initdata() { shangpinadpata=new Shangpinadpata(R.layout.item); mustDATAding.rvType.setAdapter(shangpinadpata); mustDATAding.rvType.setLayoutManager(new LinearLayoutManager(getContext(),LinearLayoutManager.HORIZONTAL,false)); shangpinxinxiapdata=new Shangpinxinxiapdata(R.layout.item_shangpin); mustDATAding.rvShangpin.setAdapter(shangpinxinxiapdata); mustDATAding.rvShangpin.setLayoutManager(new LinearLayoutManager(getContext())); } @Override protected void initview() { mviewmodel.getType(); mviewmodel.getshoop(14,1); } @Override protected void handsercher() { super.handsercher(); mviewmodel.mutableLiveData.observe(this, new Observer<ShopTypeEntiy>() { @Override public void onChanged(ShopTypeEntiy shopTypeEntiy) { if (shopTypeEntiy.getCode()==200){ List<ShopTypeEntiy.DataDTO> dataDTOS=shopTypeEntiy.getData(); shangpinadpata.getData().addAll(dataDTOS); shangpinadpata.notifyDataSetChanged(); } } }); mviewmodel.mutableLiveData1.observe(this, new Observer<ShopEnity>() { @Override public void onChanged(ShopEnity shopEnity) { if (shopEnity.getCode()==200){ List<ShopEnity.DataDTO> dataDTOS=shopEnity.getData(); shangpinxinxiapdata.getData().addAll(dataDTOS); shangpinxinxiapdata.notifyDataSetChanged(); } } }); } @Override protected Class<Shopviewmodel> getviewmodel() { return Shopviewmodel.class; } @Override protected int getlayout() { return R.layout.fragment_shangpin; } }
//商品列表进行解析数据以及上哦信息
package com.example.day1.base.Viewmodel; import android.util.Log; import androidx.lifecycle.MutableLiveData; import com.example.day1.base.Entity.ShopEnity; import com.example.day1.base.Entity.ShopTypeEntiy; import com.example.day1.base.Model.Shopmodel; import java.util.Scanner; import io.reactivex.Observer; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; import retrofit2.http.Query; public class Shopviewmodel extends Baseviewmodel<Shopmodel>{ public MutableLiveData<ShopTypeEntiy> mutableLiveData=new MutableLiveData<>(); public MutableLiveData<ShopEnity> mutableLiveData1=new MutableLiveData<>(); @Override protected Shopmodel createModel() { return new Shopmodel(); } public void getType(){ mModel.getshopType() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<ShopTypeEntiy>() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(ShopTypeEntiy shopTypeEntiy) { mutableLiveData.postValue(shopTypeEntiy); } @Override public void onError(Throwable e) { } @Override public void onComplete() { } }); } public void getshoop(int category_id, int currentPage){ mModel.getshop(category_id,currentPage) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<ShopEnity>() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(ShopEnity shopEnity) { Log.i("===", "onNext: "+shopEnity.getData().size()); mutableLiveData1.postValue(shopEnity); } @Override public void onError(Throwable e) { } @Override public void onComplete() { } }); } }
//商品的model层进行log报错查找
package com.example.day1; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.databinding.DataBindingUtil; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import android.os.Bundle; import android.view.MenuItem; import com.example.day1.base.Apdata.CustTabapdata; import com.example.day1.base.Apdata.Fragmentapdata; import com.example.day1.base.fragment.FriendFragment; import com.example.day1.base.fragment.wodeFragment; import com.example.day1.base.fragment.xiaoxiFragment; import com.example.day1.base.fragment.zhiboFragment; import com.example.day1.base.fragment.zhuyeFragment; import com.example.day1.databinding.ActivityMainBinding; import com.google.android.material.navigation.NavigationBarView; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { ActivityMainBinding activityMainBinding; List<Fragment> list=new ArrayList<>(); Fragmentapdata fragmentapdata; CustTabapdata custTabapdat; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.activity_main); activityMainBinding = DataBindingUtil.setContentView(this, R.layout.activity_main); activityMainBinding.bnv.setOnItemSelectedListener(new NavigationBarView.OnItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()){ case R.id.a1: chanage(zhuyeFragment.newInstance()); break; case R.id.a2: chanage(FriendFragment.newInstance()); break; case R.id.a3: chanage(zhiboFragment.newInstance()); break; case R.id.a4: chanage(xiaoxiFragment.newInstance()); break; case R.id.a5: chanage(wodeFragment.newInstance()); break; } return true; } }); } public void chanage(Fragment fragment){ FragmentManager fragmentManager=getSupportFragmentManager(); FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.fl,new zhuyeFragment().newInstance()); fragmentTransaction.commit(); } }
//主页面进行解析数据以及ComTablayout等等