当前位置: 首页 > 知识库问答 >
问题:

E/RecyclerView:未连接适配器;跳过布局错误

穆毅然
2023-03-14

当应用程序启动时,我得到一个空白屏幕,当我检查日志时,我得到:E/回收人员视图:没有连接适配器;跳过布局错误

我不知道为什么?任何想法,它似乎没有附加回收器视图或添加任何数据,我附加了Main活动、DataAdapter和数据类。

主要活动

public class MainActivity extends AppCompatActivity {

    private static final String BASE_URL = "http://demo3317540.mockable.io";


    private RecyclerView recyclerView;
    private List<Included> data;
    private Adapter adapter;




    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        data = new ArrayList<>();

        initViews();
        loadJSON();

    }

    private void initViews() {

        recyclerView = (RecyclerView)findViewById(R.id.recyclerView);
        recyclerView.setHasFixedSize(true);
        RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getApplicationContext());
        recyclerView.setLayoutManager(layoutManager);

    }

    private void loadJSON() {

        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();
        RequestInterface request = retrofit.create(RequestInterface.class);
        Call<JsonResponse> call = request.getYesterData();
        call.enqueue(new Callback<JsonResponse>() {
            @Override
            public void onResponse(Call<JsonResponse> call, Response<JsonResponse> response) {

                JsonResponse jsonResponse = response.body();
                data = new ArrayList<>(Arrays.asList(jsonResponse.getIncluded()));
                adapter = new Adapter(data);
                recyclerView.setAdapter(adapter);



            }

数据适配器

 public class Adapter extends RecyclerView.Adapter<Adapter.ViewHolder>{

        private List<Included> includedData;


        public Adapter(List<Included> includedData) {
            this.includedData = includedData;

        }


        @Override
        public Adapter.ViewHolder onCreateViewHolder(ViewGroup parent, int i) {

            View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item, parent, false);
            return new ViewHolder(view);
        }

        @Override
        public void onBindViewHolder(ViewHolder holder, int position) {


            holder.tvCompetitionName.setText(includedData.get(position).getAttributes().getName());
            holder.homeTeam.setText(includedData.get(position).getRelationships().getCompetition().getData().getType());



            holder.itemView.setTag(includedData.get(position));

        }

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

        }

        @Override
        public long getItemId(int position) {

            return position;
        }

        @Override
        public int getItemViewType(int position) {
            return position;
        }

        public class ViewHolder extends RecyclerView.ViewHolder {

            private TextView tvCompetitionName;
            private TextView homeTeam;
            private TextView score;

            public ViewHolder(View itemView) {
                super(itemView);

                tvCompetitionName = (TextView) itemView.findViewById(R.id.competitionNameTV);
                homeTeam = (TextView) itemView.findViewById(R.id.homeTeamTv);
                score = (TextView) itemView.findViewById(R.id.score);
            }
        }
}

下面是我的数据类,将从中提取数据

我ncluded.java

public class Included implements Serializable, Parcelable
{

    @SerializedName("relationships")
    @Expose
    private Relationships relationships;
    @SerializedName("attributes")
    @Expose
    private Attributes attributes;
    @SerializedName("type")
    @Expose
    private String type;
    @SerializedName("id")
    @Expose
    private String id;

}

收集器和设置器

这是jsonResponse类,在接口中引用

public class JsonResponse {

    private Included[] included;

    public Included[] getIncluded() {
        return included;
    }
}

感谢任何帮助。

共有1个答案

寇宏义
2023-03-14

您需要初始化适配器并调用recyclerview.set适配器(适配器)

 类似资料:
  • 一切正常,但数据没有显示。 但是当我签入“logcat”时,我发现了这个错误消息: 2021 10月20日11:29:37.387 7327-7327/com。实例myplay E/RecyclerView:未连接适配器;跳过布局 2021-10-20 11:29:37.388 7327-7327/com.example.myplayE/RecyClerView:未连接适配器;跳过布局 主要活动。

  • 我已经创建了一个片段,在该片段中有一个recycle view,但是当我的片段被加载时,什么也没有显示,它给出了这个错误“E/recycle view:没有连接适配器;跳过布局”。下面是适配器和片段类的代码,任何帮助都将不胜感激 适配器类: 片段类: fragment _ view _ all _ my _ recipes . XML view_all_recipe_item.xml

  • 我制作了一个基本的购物清单应用程序,它利用回收器视图来显示列表项目。我正在尝试使用带有片段的导航添加设置屏幕。我遇到了我的回收器视图的问题 主活动.kt HomeFragment.kt 设置Fragment.kt activity_main.xml fragment\u home.xml navigation.xml 不确定是否需要更多信息。提前道歉-我是android studio的新手

  • 我正在编写一个应用程序,该应用程序通过接收Json文件的API来显示票房的rrank,如果我评论有关的代码,一切都可以正常工作。适配器代码很好,我猜想如果没有,日志是这样的: 我认为代码的顺序是错误的,但不知道确切的...主要活动.java是:

  • 我需要帮助,我有一个错误,那就是这个:E/recyclerView:没有连接适配器;跳过布局 代码: 公共视图onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState){View View=inflater.inflate(r.layout.fragment_chats,container,

  • 我正在使用Firebase数据库开发一个带有片段和回收器视图的应用程序。我希望该应用程序从数据库中获取数据并将其显示在片段布局中。我非常认为我的代码很好,应该可以正常工作。 我得到错误日志 我在其他问题和论坛上尝试了一切。 这是我的家。java代码: } 我的适配器类: } 我在这方面陷入了困境。提前感谢。