添加给主项目Gradle的依赖
maven { url 'https://jitpack.io' }
添加给需要项目的依赖
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.42' implementation 'com.android.support:recyclerview-v7:28.0.0'
万能适配器的代码
package com.example.administrator.myapplication; import android.content.Context; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v7.widget.RecyclerView; import android.widget.ImageView; import com.bumptech.glide.Glide; import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseViewHolder; import java.util.List; public class MyApter extends BaseQuickAdapter<Bean1.DataEntity,BaseViewHolder>{ Context context; public MyApter(int layoutResId, @Nullable List<Bean1.DataEntity> data, Context context) { super(layoutResId, data); this.context=context; } @Override protected void convert(BaseViewHolder helper, Bean1.DataEntity item) { helper.setText(R.id.tv,item.getTitle()); Glide.with(context).load(item.getPic()).into((ImageView) helper.getView(R.id.iv)); } }
package com.example.administrator.myapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.widget.ListView; import com.google.gson.Gson; import com.lzy.okgo.OkGo; import com.lzy.okgo.callback.StringCallback; import com.lzy.okgo.model.Progress; import com.lzy.okgo.model.Response; import java.util.ArrayList; import java.util.List; public class Main2Activity extends AppCompatActivity { private ListView listView; ArrayList<Bean1.DataEntity> list =new ArrayList<>(); RecyclerView recyclerView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); recyclerView=findViewById(R.id.rv); OkGo.<String>get("http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=200&page=1").execute(new StringCallback() { @Override public void onSuccess(Response<String> response) { String body = response.body(); Bean1 bean1 = new Gson().fromJson(body, Bean1.class); List<Bean1.DataEntity> data = bean1.getData(); list.addAll(data); MyApter myApter1=new MyApter(R.layout.item,list,Main2Activity.this); recyclerView.setAdapter(myApter1); LinearLayoutManager linearLayoutManager=new LinearLayoutManager(Main2Activity.this); recyclerView.setLayoutManager(linearLayoutManager); myApter1.notifyDataSetChanged(); } @Override public void downloadProgress(Progress progress) { super.downloadProgress(progress); int fraction = (int)progress.fraction; } }); } }