我有一个带有工具栏的活动,在该工具栏中我添加了一个图像视图并在其中设置了徽标。
此外,我创建了不同的片段,现在当我看到片段时,我想隐藏该图像视图并将标题设置为活动的工具栏。
我已将图片视图和工具栏设置为家庭活动中的公共静态。
我试图像这样访问工具栏:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_account, container, false);
final Toolbar toolbar = (Toolbar) ((HomeActivity) getActivity()).findViewById(R.id.toolbar);
toolbar.setTitle(R.string.menu_account);
((HomeActivity) getActivity()).setSupportActionBar(toolbar);
((HomeActivity) getActivity()).mLogo.setVisibility(View.GONE);
return view;
}
但是我在图像视图上得到一个空指针,如果注释了setVisibility(View.GONE),我可以看到工具栏上的图像。
HomeActivity
public class HomeActivity extends AppCompatActivity{
public static Toolbar toolbar;
public static ImageView mLogo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
mLogo = (ImageView)findViewById(R.id.imageViewLogo);
FragmentManager fragmentManager = HomeActivity.this.getFragmentManager();
MainFragment fragment = new MainFragment();
fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
fragmentManager.beginTransaction().replace(R.id.mycontainer, fragment).commitAllowingStateLoss();
}
}
请帮助解决这个问题。谢谢。
答案 0 :(得分:6)
从像这样的活动中获取Imageview
ImageView mLogo = (ImageView)getActivity().findViewById(R.id.imageViewLogo);
mLogo.setVisibility(View.GONE);