2016-01-20 84 views
1

我有一个活动2片段(让我们称之为A和B),每个片段都有一个回收站视图。RecyclerView没有在背部填充

我通过执行

val fragment = supportFragmentManager.findFragmentById(R.id.activity_home_fragment) 
this.supportFragmentManager 
    .beginTransaction() 
    .remove(fragment) 
    .add(R.id.activity_home_fragment, newFragment) 
    .addToBackStack(null) 
    .commit() 

当我做前向气流添加片段(A - > B)所有recyclerviews正常加载。但是,当我回到第一个片段(B - > A)时,使用后退按钮,回收站视图不会加载。

我使用kotterknife注入我的看法

val recyclerBuildList by bindView<RecyclerView>(R.id.fragment_build_list_recycler) 

下面就是我用来创建适配器代码:

override fun onResume() { 
    super.onResume() 
    val build1 = Build() 
    build1.id = 3 
    build1.name = "Build 1" 

    val build2 = Build() 
    build2.id = 4 
    build2.name = "Build 2" 
    val list = arrayListOf(build1, build2) 
    setupBuildList(list) 
} 

private fun setupBuildList(builds: List<Build>) { 
    recyclerBuildList.setHasFixedSize(true) 
    val adapter = BuildListAdapter(activity, eventBus) 
    recyclerBuildList.layoutManager = LinearLayoutManager(activity) 
    adapter.builds = builds 
    recyclerBuildList.adapter = adapter 
    recyclerBuildList.requestLayout() 
} 

PS:我在使用科特林我的项目

我在Hierarchy View中检查过,里面没有什么RecyclerView

+0

你把这段代码放在哪里?这是在onCreate()或onResume()吗?我认为我们需要更多的上下文。 –

+0

是的,这代码执行的地方确实很重要。你可以用这个代码发布完整的方法吗? – geNia

+0

增加了一些代码 – Migore

回答

1

我认为这可能与this issue有关。

的问题是:一旦创建

视图属性是重新创建例如片段布局后保存在存储器中屏幕方向变化

+1

谢谢!使用问题中提出的拉动请求,它工作! – Migore