观察者内部的片段事务(android)

时间:2019-10-08 23:40:38

标签: android observers fragmenttransaction

跟随google codelabs查看livedata的代码,以观察ViewModel中的更新:

  /** Setting up LiveData observation relationship **/
viewModel.word.observe(this, Observer { newWord ->
   binding.wordText.text = newWord
})

但是,在我的MainActivity中实现类似的代码不起作用。 我想做的是实现Master-Detail模式

  1. 从recyclerView片段(列表菜单)中将单击项的索引设置为viewModel
  2. 检测到值变化时,主机活动将片段替换为另一个片段。
  3. 新片段获取点击项的索引并显示相关信息。
noodleViewModel = ViewModelProviders.of(this).get(NoodleViewModel.class);
        noodleViewModel.indexOfItemSelected.observe(this, Observer{ index ->
            int holder = index; // <-- index cannot be resolved
            Fragment fragment_two = new NoodleDetailFragment(index); // <-- index cannot be resolved
            FragmentTransaction ft2 = getSupportFragmentManager().beginTransaction();
            ft2.replace(R.id.content_frame, fragment_two);
        });

index变量变为红色,无法解析。 我对lambda或Observer没有深刻的了解;我在做什么错了?

0 个答案:

没有答案