Java 网格视图中的毕加索回收视图改装2

Java 网格视图中的毕加索回收视图改装2,java,android,android-layout,retrofit2,Java,Android,Android Layout,Retrofit2,主要类别: recyclerView = (RecyclerView)findViewById(R.id.card_recycler_view); recyclerView.setHasFixedSize(true); RecyclerView.LayoutManager layoutManager = new GridLayoutManager(getApplicationContext(),2); recyclerView.setLayoutM

主要类别:

recyclerView = (RecyclerView)findViewById(R.id.card_recycler_view);
        recyclerView.setHasFixedSize(true);
        RecyclerView.LayoutManager layoutManager = new GridLayoutManager(getApplicationContext(),2);
        recyclerView.setLayoutManager(layoutManager);

            Retrofit retrofit = new Retrofit.Builder()
                    .baseUrl("http://192.168.0.2/littlezebra/scripts/")
                    .addConverterFactory(GsonConverterFactory.create())
                    .build();

            login service = retrofit.create(login.class);


            Call<dashboard> call = service.dash();

            call.enqueue(new Callback<dashboard>() {
                @Override
                public void onResponse(Call<dashboard> call, Response<dashboard> response) {

                  dashboard  dashboard = response.body();
                    data = new ArrayList<>(Arrays.asList(dashboard. getDashboard_info()));
                    adapter = new DataAdapter(data,context);
                    recyclerView.setAdapter(adapter);

                }
recyclerView=(recyclerView)findViewById(R.id.card\u recycler\u视图);
recyclerView.setHasFixedSize(true);
RecycleView.LayoutManager LayoutManager=新的GridLayoutManager(getApplicationContext(),2);
recyclerView.setLayoutManager(layoutManager);
改装改装=新改装.Builder()
.baseUrl(“http://192.168.0.2/littlezebra/scripts/")
.addConverterFactory(GsonConverterFactory.create())
.build();
登录服务=改造.create(login.class);
Call=service.dash();
call.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
dashboard=response.body();
data=newarraylist(Arrays.asList(dashboard.getDashboard_info());
适配器=新数据适配器(数据、上下文);
recyclerView.setAdapter(适配器);
}
适配器类:

public class DataAdapter extends RecyclerView.Adapter<DataAdapter.ViewHolder> {
    private ArrayList<dashboard.Dashboard_info> android;
    private Context context;

    public DataAdapter(ArrayList<dashboard.Dashboard_info> android,Context context) {
        this.android = android;
        this.context = context;
    }


    public DataAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
     View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.card_row, viewGroup, false);
        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(DataAdapter.ViewHolder viewHolder, int i) {

        viewHolder.tv_name.setText(android.get(i).getId());
        Picasso.with(context).load(android.get(i)
                .getWeek_image())
                .resize(250,200) //to resize Image
                .into(viewHolder.img_android);
        viewHolder.tv_api_level.setText(android.get(i).getWeek_name());
    }

    @Override
    public int getItemCount() {
        return android.size();
    }

    public class ViewHolder extends RecyclerView.ViewHolder{
        private TextView tv_name;
        private ImageView img_android;
        private TextView tv_api_level;
        public ViewHolder(View view) {
            super(view);

            tv_name = (TextView)view.findViewById(R.id.tv_name);
            img_android = (ImageView) view.findViewById(R.id.img_android);
            tv_api_level = (TextView)view.findViewById(R.id.tv_api_level);

        }
    }
公共类DataAdapter扩展了RecyclerView.Adapter{
私有ArrayList android;
私人语境;
公共数据适配器(ArrayList android,上下文){
this.android=android;
this.context=上下文;
}
public DataAdapter.ViewHolder onCreateViewHolder(视图组视图组,int i){
View View=LayoutInflater.from(viewGroup.getContext()).flate(R.layout.card_行,viewGroup,false);
返回新的ViewHolder(视图);
}
@凌驾
public void onBindViewHolder(DataAdapter.ViewHolder-ViewHolder,int i){
viewHolder.tv_name.setText(android.get(i.getId());
毕加索.with(context).load(android.get(i)
.getWeek_image())
.resize(250200)//调整图像大小
.into(viewHolder.img_android);
viewHolder.tv_api_level.setText(android.get(i.getWeek_name());
}
@凌驾
public int getItemCount(){
返回android.size();
}
公共类ViewHolder扩展了RecyclerView.ViewHolder{
私有文本视图tv_名称;
私有ImageView img_android;
私有文本视图电视api级;
公共视图持有者(视图){
超级(视图);
tv_name=(TextView)view.findViewById(R.id.tv_name);
img_android=(ImageView)view.findviewbyd(R.id.img_android);
tv_api_level=(TextView)view.findviewbyd(R.id.tv_api_level);
}
}
过程:

com.example.admin.myappl,PID:5047 java.lang.IllegalArgumentException:上下文不能为空。位于com.squareup.picasso.picasso$Builder。(picasso.java:701)位于com.squareup.picasso.picasso.with(picasso.java:662)位于com.example.admin.myappl.Adapter.DataAdapter.onBindViewHolder(DataAdapter.java:37)android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(DataAdapter.java:18)上的com.example.admin.myappl.Adapter.DataAdapter.onBindViewHolder(DataAdapter.java:18)上的android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6400)上的android.support.v7.widget.RecyclerView$RecyclerBindViewHolderandroid.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5640)上的(RecyclerView.java:5377),android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5482),android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5478)在android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2215)在android.support.v7.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:556)在android.support.v7.widget.LinearLayoutManager.onLayoutChildren.fill(LinearLayoutManager.java:1502)android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3625)的android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3625)的android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3354)android.view.view.layout(view.java:17838)的android.view.ViewGroup.layout(ViewGroup.java:5754)的android.widget.RelativeLayout.onLayout(RelativeLayout.java:1189)的android.view.view.layout(view.java:17838)的android.view.ViewGroup.layout(ViewGroup.java:5754)在android.support.design.widget.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:131)在android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)在android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1389)在android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:868)在android.view.view.ViewGroup.layout(ViewGroup.java:5754)在android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1192)在android.view.view.view.layout(view.java:17838)在android.view.ViewGroup.layoutandroid.widget.FrameLayout.layoutChildren(FrameLayout.java:383)的android.widget.FrameLayout.onLayout(FrameLayout.java:321)的android.view.view.layout(view.java:17838)的android.view.ViewGroup.layout(ViewGroup.java:5754)的android.widget.LinearLayout.setChildFrame(LinearLayout.java:1982)android.widget.LinearLayout.layoutVertical(LinearLayout.java:1826)android.widget.LinearLayout.onLayout(LinearLayout.java:1735)android.view.view.layout(view.java:17838)android.view.ViewGroup.layout(ViewGroup.java:5754)android.widget.FrameLayout.layout的layoutChildren(FrameLayout.java:383)android.widget.FrameLayout.onLayout(FrameLayout.java:321)在android.view.view.layout(view.java:17838)在android.view.ViewGroup.layout(ViewGroup.java:5754)在android.widget.LinearLayout.setChildFrame(Linea
//inside onBindViewHolder ()
Picasso.with(holder.itemView.getContext()).load("url here").into(yourImageView);
public class DataAdapter extends RecyclerView.Adapter<DataAdapter.ViewHolder> {
    private ArrayList<dashboard.Dashboard_info> android;
    private Activity activity;

    public DataAdapter(ArrayList<dashboard.Dashboard_info> android,Activity activity) {
        this.android = android;
        this.activity = activity;
    }
Picasso.with(activity).load(android.get(i)
                .getWeek_image())
                .resize(250,200) 
                .into(viewHolder.img_android);