Activity中嵌入了Fragment,则在Fragment中可以通过getActivity()方法得到所依赖的目标Activity,如
MainActivity中嵌入了文件列表FragmentFileListMainActivity:
//改变标题全选文本
public class MainActivity extends AppCompatActivity{
...
//显示/隐藏标题中的选择视图
public void setTitleToosVisible(boolean isVisibility) { if (isVisibility) {
selectToolsLayout.setVisibility(View.VISIBLE);
} else {
selectToolsLayout.setVisibility(View.GONE);
}
}
public void setSeleteAllText(boolean isSelectAll){
if(isSelectAll){
tvSelectAll.setText("取消全选");
}else{
tvSelectAll.setText("全选");
}
}
...
}
FragmentFileList:
if (!isSelectMode) {
//进入选择模式isSelectMode = true;
//显示选择模式的页面效果
selectModeToolsLayout.setVisibility(View.VISIBLE);
((MainActivity) getActivity()).setTitleToosVisible(true);
} else {
//如果长按的是已经选中的,则会取消选中的item,当取消完所有选中则需要退出选择模式
if (currentSelectItems.isEmpty()) {
//退出选择模式isSelectMode = false;
//隐藏选择模式的页面效果
selectModeToolsLayout.setVisibility(View.GONE);
((MainActivity) getActivity()).setTitleToosVisible(false);
}
}