我有三个带有底部导航栏的片段应用程序,我使用 NavigationUI 进行切换。我还有一个创建数据的视图模型(来自资产傻瓜),片段观察我用来填充回收器视图的实时数据的数组列表。
我的问题是每当我切换片段时,随着片段的重新创建,我不希望每次重新创建片段时都进行数据检索。因此使用视图模型。但就我而言,viewmodel 中的数据没有保留。我附上了片段和视图模型代码。我不确定这里有什么问题。
我尝试记录 aaraylist 中的条目数,如果我不调用填充数组列表的例程,它会返回 0。
private const val TAG = "Songs Fragment"
class SongsFragment : Fragment(), android.widget.SearchView.OnQueryTextListener {
private val viewmodel: SongListViewModel by lazy { ViewModelProviders.of(this).get(SongListViewModel::class.java)}
private val songListAdapter = SongListAdapter(arrayListOf())
private var raga = "All"
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
Log.d(TAG, "onCreateView called")
return inflater.inflate(R.layout.fragment_songs, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
Log.d(TAG, "onViewCreated called")
val context: FragmentActivity? = activity
(activity as …Run Code Online (Sandbox Code Playgroud)