如何从片段访问活动的图像视图?

Sid*_*Sid 1 java android android-imageview android-fragments android-toolbar

我有一个带有工具栏的活动,在该工具栏中,我添加了一个图像视图并在其中设置了徽标。

我还创建了不同的片段,现在当我看到片段时,我想隐藏该图像视图并将标题设置为活动的工具栏。

我已经将图像视图和工具栏设置为家庭活动中的public static。

我试图像这样访问工具栏:

 @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;
    }
Run Code Online (Sandbox Code Playgroud)

但是我在图像视图上得到了一个空指针,如果注释了setVisibility(View.GONE),则可以在工具栏上看到图像。

家庭活动

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();

    }

}
Run Code Online (Sandbox Code Playgroud)

请帮忙。谢谢。

sas*_*mar 6

像这样从Activity获取Imageview

ImageView mLogo = (ImageView)getActivity().findViewById(R.id.imageViewLogo);
mLogo.setVisibility(View.GONE);
Run Code Online (Sandbox Code Playgroud)