找回密码
 立即注册
相关推荐换一批
  1. YZ/T 0055-2001 G际给据邮件代码编制规则
  2. YZ/T 0054-2001 G际邮件容器代码编制规则
  3. YZ/T 0030-2001 邮政大宗用户代码编制规则及相关代码
  4. YZ/T 0029-2001 邮件收寄和投递备注信息代码
  5. YZ/T 0028-2001 邮政业务分类与代码集
  6. YZ/T 0015-2006 G际邮件处理中心代码
  7. YZ/T 0028-2005 邮政业务分类与代码集
  8. GB/T 2311-1990 信息处理 七位和八位编码字符集 代码扩充技术
  9. GB 8561-1988 专业技术职务代码
  10. QJ 1193.28-1987 人事系统数据 学术组织职务代码
  11. GB/T 8563.3-2005 奖励、纪律处分信息分类与代码 第3部分:纪律处分代码
  12. GB/T 4880.1-2005 语种名称代码第1部分:2字母代码
  13. GA 439-2003 治安管理特种行业分类代码
  14. GA 240.40-2003 刑事F罪信息管理代码 第40部分:鞋印分类和代码
  15. GA 16.8-2003 道路交通事故信息代码 第8部分:出行目的代码
  16. GA 16.5-2003 道路交通事故信息代码 第5部分:当事人责任类型代码
  17. GA 16.2-2003 道路交通事故信息代码 第2部分:事故形态代码
  18. GA 16.1-2003 道路交通事故信息代码 第1部分:道路交通事故等级代码
  19. GA 16.11-2003 道路交通事故信息代码 第11部分:当事机动车保x情况代码
  20. GA 16.10-2003 道路交通事故信息代码 第10部分:驾驶机动车人员类型代码
  21. GB/T 16987-1997 全G组织机构代码信息数据库(基本库)机读格式规范
  22. GB 4734-1984 日用陶瓷铝硅酸盐化学分析方法
  23. LD/T 75-1995 劳动防护用品分类与代码
  24. GB/T 2260-1999 中华人民共和国行政区划代码
问题
我想在片段中创建一个 recyclerView,但它显示错误“java.lang.IllegalStateException:recylerView_Main 不能为空

在 com.gph.bottomnavigation.FragmentMe.onCreateView (FragmentMe.kt:28) 上。 ”

但是相同的代码在片段中不起作用,它显示错误,所以我更改了“recylerView_Main.layoutManager=LinearLayoutManager(this)”到“recylerView_Main.layoutManager=LinearLayoutManager(context)”

它没有显示错误,我可以在模拟器中运行,但是当我单击片段的导航按钮时,应用程序停止并出现此错误。请帮忙。

这是 FragmentMe.kt 的代码:
  1. class FragmentMe : Fragment() {

  2.         override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,


  3.                savedInstanceState: Bundle?): View? {

  4.         recylerView_Main.layoutManager = LinearLayoutManager(context)
  5.         recylerView_Main.adapter = Mainadapter()

  6.         // Inflate the layout for this fragment
  7.         return inflater.inflate(R.layout.fragment_me, container, false)
  8.     }

  9. }
复制代码

这是 MainActivity.kt 的代码:
  1. class MainActivity : AppCompatActivity() {

  2.     val manager = supportFragmentManager

  3.     private val mOnNavigationItemSelectedListener = BottomNavigationView.OnNavigationItemSelectedListener { item ->
  4.         when (item.itemId) {
  5.             R.id.navigation_home -> {
  6.                 //message.setText(R.string.title_home)
  7.                 createFragmentQpon()
  8.                 return@OnNavigationItemSelectedListener true
  9.             }
  10.             R.id.navigation_dashboard -> {
  11.                 //message.setText(R.string.title_dashboard)
  12.                 createFragmentMe()
  13.                 return@OnNavigationItemSelectedListener true
  14.             }
  15.             R.id.navigation_notifications -> {
  16.                 //message.setText(R.string.title_notifications)
  17.                 createFragmentTools()
  18.                 return@OnNavigationItemSelectedListener true
  19.             }

  20.         }
  21.         false
  22.     }

  23.     override fun onCreate(savedInstanceState: Bundle?) {
  24.         super.onCreate(savedInstanceState)
  25.         setContentView(R.layout.activity_main)

  26.         //Action Bar
  27.         val actionBar = supportActionBar
  28.         actionBar!!.setDisplayShowHomeEnabled(true)
  29.         actionBar.setBackgroundDrawable(ColorDrawable(Color.parseColor("#00FFFFFF")))
  30.         actionBar.setIcon(R.drawable.ic_home_black_24dp)
  31.         actionBar.setDisplayShowTitleEnabled(false)

  32.         createFragmentQpon()
  33.         navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener)
  34.     }

  35.     fun createFragmentQpon() {
  36.         val transaction = manager.beginTransaction()
  37.         val fragment = FragmentQpon()
  38.         transaction.replace(R.id.fragmentholder,fragment)
  39.         transaction.addToBackStack(null)
  40.         transaction.commit()
  41.     }

  42.     fun createFragmentMe() {
  43.         val transaction = manager.beginTransaction()
  44.         val fragment = FragmentMe()
  45.         transaction.replace(R.id.fragmentholder,fragment)
  46.         transaction.addToBackStack(null)
  47.         transaction.commit()
  48.     }

  49.     fun createFragmentTools() {
  50.         val transaction = manager.beginTransaction()
  51.         val fragment = FragmentTools()
  52.         transaction.replace(R.id.fragmentholder,fragment)
  53.         transaction.addToBackStack(null)
  54.         transaction.commit()
  55.     }



  56. }
复制代码

这是 Mainadapter.kt 的代码:
  1. class Mainadapter: RecyclerView.Adapter<CustomViewHolder>() {

  2.     val videolist = listOf("aaa","bbbb","cccc")

  3.     override fun getItemCount(): Int {
  4.         return  3
  5.     }

  6.     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CustomViewHolder {

  7.         val layoutInflater = LayoutInflater.from(parent?.context)
  8.         val cellForRow = layoutInflater.inflate(R.layout.tutorial_layout, parent, false)
  9.         return CustomViewHolder(cellForRow)

  10.     }

  11.     override fun onBindViewHolder(holder: CustomViewHolder, position: Int) {

  12.         var videoName = videolist.get(position)


  13.         holder.itemView.title.text = videoName

  14.     }


  15. }

  16. class CustomViewHolder(v: View): RecyclerView.ViewHolder(v) {
  17. }
复制代码

回答
移动此代码
  1. recylerView_Main.layoutManager = LinearLayoutManager(context)
  2. recylerView_Main.adapter = Mainadapter()
复制代码

从 onCreateView 到 onActivityCreated

覆盖 onActivityCreated 并放置上面的代码。

代码中有两个错误:

回收站查看

附加

分离





上一篇:MySQL C++ 连接器内存泄漏
下一篇:在图像上为缩小的圆圈设置动画