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

Android Studio底部导航栏问题(RecyclerView:未连接适配器;跳过布局)

景子安
2023-03-14

我在活动中添加了一个底部导航栏,之后我的循环视图停止显示。日志显示错误“RecyclerView:未连接适配器;正在跳过布局”

如您所见,我已经为回收器View连接了一个适配器。那么为什么我总是收到这个错误?

我读过与同一问题相关的其他问题,但没有一个有帮助。

这是我的源代码:

class Main : AppCompatActivity() {
companion object{
    val INTENT_PARCELABLE = "OBJECT_INTENT"
}

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.main)


    val foodList = listOf<Food>(
        Food(
            R.drawable.food1,
            "Гамбургер",
            "300Г",
            "190Р",
            "Булка, котлета говяжья, сыр, салат айсберг,\n" +
                    "лук, маринованные огурцы, соус",
        ),
        Food(
            R.drawable.food2,
            "Шаурма",
            "400Г",
            "139Р",
            "Лаваш, куриное филе, салат, лук, соус\n"
        ),
        Food(
            R.drawable.food3,
            "Закрытая пицца",
            "278Г",
            "109Р",
            "Фирменная лепешка, соус, куриное филе,\n" +
                    "пекинская капуста, помидоры, сыр,\n" +
                    "соус цезарь"
        ),
        Food(
            R.drawable.food4,
            "Вок",
            "250Г",
            "129Р",
            "Куриное филе, лапша удон, овощной микс,\n" +
                    "лук, чеснок, имбирь, кунжут, соус"
        ),
    )

    val recyclerView = findViewById<RecyclerView>(R.id.rcView)
    recyclerView.layoutManager = LinearLayoutManager(this@Main, LinearLayoutManager.HORIZONTAL, false)
    recyclerView.adapter = FoodAdapter(this,foodList){
        val intent = Intent(this, DetailActivity::class.java)
        intent.putExtra(INTENT_PARCELABLE,it)
        startActivity(intent)

    }
    val firstFragment = FirstFragment()
    val secondFragment = SecondFragment()

    setCurrentFragment(firstFragment)

    val bottomNavigationView = findViewById<BottomNavigationView>(R.id.btm_nav)

    bottomNavigationView.setOnItemSelectedListener  {
        when (it.itemId){
            R.id.home -> setCurrentFragment(firstFragment)
            R.id.card -> setCurrentFragment(secondFragment)
        }
        true
    }
}
fun setCurrentFragment(fragment: Fragment) =
    supportFragmentManager.beginTransaction().apply {
        replace(R.id.fl_wrapper,fragment)
        commit()
    }

}

共有1个答案

宇文飞羽
2023-03-14

通过使用bottomnav,您应该使用单一活动模式。在您的MainActivity中,您需要使用fragmentcontainer作为布局,在容器之后,放置一个底部导航栏,这对架构来说会更好。也不要忘记在res的nav文件夹中创建nav_graph文件

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

  • 当应用程序启动时,我得到一个空白屏幕,当我检查日志时,我得到:E/回收人员视图:没有连接适配器;跳过布局错误 我不知道为什么?任何想法,它似乎没有附加回收器视图或添加任何数据,我附加了Main活动、DataAdapter和数据类。 主要活动 数据适配器 下面是我的数据类,将从中提取数据 我ncluded.java 收集器和设置器 这是jsonResponse类,在接口中引用 感谢任何帮助。

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

  • 我想从火力点实时数据库显示图片。(带有加密图像(字符串))类似加密图像是“照片” 函数loadPhoto() 问题出在哪里?我连接adapter和recyclerview,并设置GridManager。

  • ListPetientFragment。JAVA 错误是:2021-11-17 18:41:02.417 29997-29997/?E/rtphonemedicat:运行时设置的未知位_标志:0x8000 2021-11-17 18:41:03.628 29997-30029/com。尼戈特。smartphonemedicate E/GED:无法获取GED日志Buf,错误(0)2021-11-17