当我单击我的回收站视图项目时,我的应用程序将崩溃

Posted

技术标签:

【中文标题】当我单击我的回收站视图项目时,我的应用程序将崩溃【英文标题】:when I click my recycler view item then my app will be crashed 【发布时间】:2021-11-27 08:37:54 【问题描述】:

这里我的应用程序会崩溃当我单击我的回收站视图项并将数据显示到另一个回收站视图时,但这里会产生一些错误。 如果有人有想法请告诉我如何解决这个错误。

show error like this

这是我的代码。 ApiInterface.java

  @POST("api/student_point")
    Call<courseinfo>getdetails(@Field("id")String id);

CoureseD.java

public void processing()
            progresshandler.show();
            Call<courseinfo>call=apiInterface.getdetails("1");
            call.enqueue(new Callback<courseinfo>() 
                @Override
                public void onResponse(Call<courseinfo> call, Response<courseinfo> response) 
                    courseinfo courseinfo=response.body();
                    Log.i("Response",String.valueOf(courseinfo.getMessage()));
                    boolean mSuccess = false;
                    if(response.isSuccessful())
    
                        if(response.body()!=null)
                            if(response.body().getStatus().equals("success"))
                            
                                mSuccess=true;
                                if(mSuccess) 
    
                                    settel(response.body().getBlogs());
                                    progresshandler.hide();
                                    Toast.makeText(getApplicationContext(), response.toString(), Toast.LENGTH_SHORT).show();
    
                                
                            
    
                        
    
                    
    
                
    
                @Override
                public void onFailure(Call<courseinfo> call, Throwable t) 
                    Toast.makeText(getApplicationContext(),t.toString(), Toast.LENGTH_SHORT).show();
                    progresshandler.hide();
                
            );
         
       private void settel(ArrayList<courseinfo.Blog> blogs) 
           coureseadapter coureseadapter = new coureseadapter(blogs, context);
           coureseview.setAdapter(coureseadapter);
    
       

coureseaadapter.java

public class coureseadapter extends RecyclerView.Adapter<coureseadapter.coureseviewholder>


    private ArrayList<courseinfo.Blog>blogs;
    private Context context;

    public coureseadapter(ArrayList<courseinfo.Blog> blogs, Context context) 
        this.blogs = blogs;
        this.context = context;
    

    @NonNull
    @Override
    public coureseviewholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) 
        View view=LayoutInflater.from(parent.getContext()).inflate(R.layout.coureseinfo,parent,false);
        return new coureseviewholder(view);
    

    @Override
    public void onBindViewHolder(@NonNull coureseviewholder holder, int position) 


       // holder.point.setText(blogs.get(position).getId());
        holder.point.setText(blogs.get(position).getPoint());


    

    @Override
    public int getItemCount() 
        return blogs.size();
    

    class coureseviewholder extends RecyclerView.ViewHolder
        CheckBox ch;
        TextView point;
        Spinner fact;

        public coureseviewholder(@NonNull View itemView) 
            super(itemView);
            ch=itemView.findViewById(R.id.c_d);

            point=itemView.findViewById(R.id.point_n);
            fact=itemView.findViewById(R.id.fac_n);
        
    

【问题讨论】:

您是否尝试通过谷歌搜索您的错误? ...这里已经有答案了...请在询问之前先上网搜索 这能回答你的问题吗? Retrofit 2.0 throwing "IllegalArgumentException: @Field parameters can only be used with form encoding". How to do right API query and fix it? @Nitish 我已经展示了这种类型的文章,但没有解决我的问题.. 添加 @FormUrlEncoded ,您是否仍然遇到相同的错误或其他错误 @Nitish 添加后 (@FormUrlEncoded) 仍然出错.. 类似于没有响应正文 【参考方案1】:

我认为这个错误只指向这个问题 在您的电话上方添加FormUrlEncoded

@FormUrlEncoded
@POST("api/student_point")
Call<courseinfo> getdetails(@Field("id") String id);

【讨论】:

以上是关于当我单击我的回收站视图项目时,我的应用程序将崩溃的主要内容,如果未能解决你的问题,请参考以下文章

当我将核心数据添加到表视图时,我的应用程序崩溃了

如何将按钮放在回收站视图的顶部?

通过单击单个项目选择Recycler视图中的所有项目

如何从 onclick 侦听器单击的项目中检索数据

当我使用要传递餐厅 ID 的意图将数据从回收器适配器传递到活动时,我的应用程序崩溃了

如何解决单击水平 RecyclerView 中的项目的问题?