Android如何访问Activity中的Fragment Adapter? (适配器为空)
Android how to access Fragment Adapter in Activity? (Adapter is null)
我有 Activity(BottomBar) - Fragment(RecyclerView) - FragmentAdapter(RecyclerView Adapter)
- RecyclerView 显示列表。
- 单击列表中的第一项时底部栏可见。
- 我点击了底部栏中的项目(ex.delete)
-> 我想访问 FragmentAdapter 并通知项目删除或其他东西
--> 但是当我调用 FragmentAdapter 时,它是 null
Activity
ListFragment listFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listFragment = new ListFragment();
...
}
bottomNavigationView.setOnNavigationItemSelectedListener(
(BottomNavigationView.OnNavigationItemSelectedListener) item -> {
switch (item.getItemId()) {
case R.id.delete:
listFragment.delete();
return true;
}
});
片段
public void delete(){
fileListAdapter.delete(); // it is null
}
您可以使用事件总线调用您需要的事件适配器
可用于共享的第二个取景器 activity 片段数据
第三你可以制作静态适配器并在活动中随处调用它
静态适配器适配器;
我有 Activity(BottomBar) - Fragment(RecyclerView) - FragmentAdapter(RecyclerView Adapter)
- RecyclerView 显示列表。
- 单击列表中的第一项时底部栏可见。
- 我点击了底部栏中的项目(ex.delete) -> 我想访问 FragmentAdapter 并通知项目删除或其他东西 --> 但是当我调用 FragmentAdapter 时,它是 null
Activity
ListFragment listFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listFragment = new ListFragment();
...
}
bottomNavigationView.setOnNavigationItemSelectedListener(
(BottomNavigationView.OnNavigationItemSelectedListener) item -> {
switch (item.getItemId()) {
case R.id.delete:
listFragment.delete();
return true;
}
});
片段
public void delete(){
fileListAdapter.delete(); // it is null
}
您可以使用事件总线调用您需要的事件适配器
可用于共享的第二个取景器 activity 片段数据
第三你可以制作静态适配器并在活动中随处调用它 静态适配器适配器;