public class MainActivity extends AppCompatActivity {
private RecyclerView mRecyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRecyclerView=findViewById(R.id.recyclerview);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
MyApp.getmRetrofit()
.create(FilmService.class)
.getBean( 1 )
.subscribeOn(Schedulers.io())
.map(new Function<Bean, List<Bean.DataBean>>() {
@Override
public List<Bean.DataBean> apply(Bean bean) throws Exception {
List<Bean.DataBean> list=bean.getData();
return list;
}
}).observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<List<Bean.DataBean>>() {
@Override
public void accept(List<Bean.DataBean> dataBeans) throws Exception {
mRecyclerView.setAdapter(new MyAdapter(dataBeans,MainActivity.this));
}
});
}
}
public interface FilmService {
@GET("apiv3/post/getPostInCate?cateid=0&")
Observable<Bean> getBean(@Query("p") int p);
}
public class MyApp extends Application {
public String BaseUrl="http://app.vmoiver.com/";
private static Retrofit mRetrofit;
public static Retrofit getmRetrofit() {
return mRetrofit;
}
@Override
public void onCreate() {
super.onCreate();
mRetrofit=new Retrofit.Builder()
.baseUrl ( BaseUrl )
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.build();
Fresco.initialize(this);
}}
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private Context context;
private List<Bean.DataBean> mdatas;
public MyAdapter(List<Bean.DataBean> mdatas, Context context) {
this.context = context;
this.mdatas = mdatas;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View inflate= LayoutInflater.from(context).inflate(R.layout.item,parent,false);
return new ViewHolder(inflate);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.item_img.setImageURI(mdatas.get(position).getImage());
holder.item_textview.setText(mdatas.get(position).getTitle());
}
@Override
public int getItemCount() {
return mdatas.size();
}
static class ViewHolder extends RecyclerView.ViewHolder{
private SimpleDraweeView item_img;
private TextView item_textview;
public ViewHolder(View itemView) {
super(itemView);
item_img=itemView.findViewById(R.id.item_img);
item_textview=itemView.findViewById(R.id.item_textview);
}
}
}
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/item_img"
android:src="@mipmap/ic_launcher"
android:layout_width="100dp"
android:layout_height="100dp" />