我需要设置成 android.arch.lifecycle.LiveData 观察方法吗?
What I need set to android.arch.lifecycle.LiveData observe method?
我有片段:
public class BasketFragment extends Fragment {
....
public View onCreateView
...
和onCreateView
中的Room dao方法returnLiveData
:
LiveData<List<BasketItem>> listLiveData = MyApplication.me().getDatabase().basketDao().getAll();
listLiveData.observe(this, basketItems -> {
BasketAdapter basketAdapter = new BasketAdapter(basketItems);
basketAdapter.setOnItemClickListener(new ClickHandler());
recyclerView.setAdapter(basketAdapter);
});
我可以设置为 observe
方法:this, getActivity() 但我不明白我需要什么。因为 observ 设置了第一个参数:
@NonNull LifecycleOwner owner
如果我设置这个(BasketFragment)或 getActivity() - 它不是 LifecycleOwner
你需要做什么?
您的 activity 需要继承自 FragmentActivity
(其中包括继承自 AppCompatActivity
),或者您的片段需要继承自 Fragment
的后端(android.support.v4.app.Fragment
).
我有片段:
public class BasketFragment extends Fragment {
....
public View onCreateView
...
和onCreateView
中的Room dao方法returnLiveData
:
LiveData<List<BasketItem>> listLiveData = MyApplication.me().getDatabase().basketDao().getAll();
listLiveData.observe(this, basketItems -> {
BasketAdapter basketAdapter = new BasketAdapter(basketItems);
basketAdapter.setOnItemClickListener(new ClickHandler());
recyclerView.setAdapter(basketAdapter);
});
我可以设置为 observe
方法:this, getActivity() 但我不明白我需要什么。因为 observ 设置了第一个参数:
@NonNull LifecycleOwner owner
如果我设置这个(BasketFragment)或 getActivity() - 它不是 LifecycleOwner
你需要做什么?
您的 activity 需要继承自 FragmentActivity
(其中包括继承自 AppCompatActivity
),或者您的片段需要继承自 Fragment
的后端(android.support.v4.app.Fragment
).