0

J'ai une activité qui a une barre d'outils, dans cette barre d'outils j'ai ajouté une vue d'image et ai placé le logo dedans.Comment accéder à l'affichage de l'image d'une activité à partir d'un fragment?

J'ai également créé différents fragments, maintenant quand je vois le fragment que je veux cacher cette vue d'image et placez le titre à la barre d'outils d'une activité.

J'ai défini l'affichage de l'image et la barre d'outils en tant que public statique dans l'activité de la maison.

J'ai essayé d'accéder à la barre d'outils comme celui-ci:

@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; 
    } 

mais je reçois un pointeur NULL dans la vue de l'image et je peux voir l'image si la barre d'outils setVisibility commenté (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(); 

    } 

} 

S'il vous plaît aider. Je vous remercie.

Répondre

1

Get Imageview d'activité comme celui-ci

ImageView mLogo = (ImageView)getActivity().findViewById(R.id.imageViewLogo); 
mLogo.setVisibility(View.GONE); 
+0

vue de l'image est parti par cela, mais je ne peux pas voir le titre sur la barre d'outils. – Sid

+0

vérifiez votre fichier xml .. je pense alignement de textview et marge basée sur imageview? – sasikumar

+0

J'ai ajouté une autre vue de texte. Merci. – Sid