2017-10-06 6 views
1

Mon code (en onCreate() méthode:Impossible d'accéder à la vue d'élément Action Bar programatically - Android

ActionBar actionBar = getSupportActionBar(); 
    actionBar.setDisplayShowCustomEnabled(true); 
    LayoutInflater inflator = (LayoutInflater) this .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View v = inflator.inflate(R.layout.main_action_bar, null); 

    actionBar.setCustomView(v); 

    profilePictureView = (ProfilePictureView) v.findViewById(R.id.userProfilePicture); 

Puis lorsque je tente de changer programatically l'affichage à l'aide:

profilePictureView.setProfileId(null); 

J'obtiens l'erreur " Impossible d'appeler setProfileId sur null référence.

Comment dois-je accéder correctement ths vue.

Répondre

2

Juste pour un contrôle si cela ne vous dérange pas pouvez-vous le faire pour moi et me dire si cela fonctionne ou non.

class YourActivity extends AppCompatActivity{ 
    //simply use getSupportActionBar() and check 
    getSupportActionBar().setDisplayShowCustomEnabled(true); 
    LayoutInflater inflator = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View v = inflator.inflate(R.layout.main_action_bar, null); 

    profilePictureView = (ProfilePictureView) v.findViewById(R.id.userProfilePicture); 

    profilePictureView.setProfileId(null); 

    // declaring it here because you are setting the whole view in the actionbar now after adding the profile pic and all. So may it is a reason it is not been able to find out the actionbar to be applied on 
    getSupportActionBar().setCustomView(v); 
} 
+1

Hmmm ... cela fonctionne !! –

+0

@DennisCallanan Pourriez-vous s'il vous plaît marquer cette réponse à droite et upvote si elle vous a aidé de toute façon. Merci. –

+0

Il semblait avoir travaillé .. maintenant il a spontanément cessé de fonctionner à nouveau !! –