为什么我一直收到错误:E / RecyclerView:没有附加适配器;跳过布局?

时间:2017-12-06 06:53:13

标签: android android-recyclerview adapter

我正在为app A-levels工作,而app加载正常,我的数据都没有出现。当我检查调试代码时,我收到了这个错误:

  

E / RecyclerView:没有连接适配器;跳过布局

我是Android Studio的新手,所以我不知道在哪里放什么适配器。

public class Home extends AppCompatActivity
    implements NavigationView.OnNavigationItemSelectedListener {
FirebaseDatabase database;
DatabaseReference Category;
TextView txtFullName;
RecyclerView recycler_menu;
RecyclerView.LayoutManager layoutManager;
FirebaseRecyclerAdapter<Category, MakeupViewHolder> adapter;

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

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    toolbar.setTitle("Makeup");
    setSupportActionBar(toolbar);

    //Init Firebase

    database = FirebaseDatabase.getInstance();
    Category = database.getReference("Category");

    FloatingActionButton fab = (FloatingActionButton)findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Snackbar.make(view, "Replace with your own action",Snackbar.LENGTH_LONG)
                    .setAction("Action", null).show();
        }
    });

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
            this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
    drawer.setDrawerListener(toggle);
    toggle.syncState();

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
    navigationView.setNavigationItemSelectedListener(this);

    //Set Name for user
    View headerView = navigationView.getHeaderView(0);
    txtFullName = (TextView)headerView.findViewById(R.id.txtFullName);
    txtFullName.setText(Common.currentUser.getName());

    //Load menu
    recycler_menu = (RecyclerView)findViewById(R.id.recycler_menu);
    recycler_menu.setHasFixedSize(true);
    layoutManager = new LinearLayoutManager(this);
    recycler_menu.setLayoutManager(layoutManager);
    recycler_menu.setAdapter(adapter);

    loadMenu();
}

1 个答案:

答案 0 :(得分:0)

我不相信这是你需要处理的错误。我不知道为什么Android团队选择将此日志标记为“错误”。

一个名为dispatchLayout的方法被称为布局阶段的一部分,如果LayoutManagerAdapternull,该方法基本上不应该执行任何操作。这是有道理的,并且在这些情况下打印此日志。

当您将LayoutManagerAdapter同时设置为RecyclerView

时,它就会消失