web-dev-qa-db-fra.com

Comment changer la source ImageView dans android

Ceci est mon xml, il est situé à l'intérieur d'un fragment qui apparaît dans mon activité.

<FrameLayout
                    Android:id="@+id/frame1"
                    Android:layout_width="wrap_content"
                    Android:layout_height="115dp"
                    Android:layout_margin="2dp"
                    Android:layout_weight="0.33">

                    <ImageView
                        Android:id="@+id/whoamiwith"
                        Android:layout_width="match_parent"
                        Android:layout_height="match_parent"
                        Android:scaleType="fitCenter"
                        Android:src="@drawable/default_image" />
                </FrameLayout>

Et voici mon Java:

@Override
public void onClick(View click) {
    if (click == profileBtn) {
        whoamiwith.setBackgroundResource(R.drawable.image_i_wanna_put);
    }
}

J'essaye de changer la source d'image de la vue d'image. Il n'y a pas d'erreurs de syntaxe mais quand je clique sur le bouton l'émulateur me donne une force de fermeture et sur le logcat il dit:

Java.lang.NullPointerException

Cela pointe vers la ligne:

whoamiwith.setBackgroundResource(R.drawable.loginbtn);
28
CENT1PEDE
whoamiwith.setImageResource(R.drawable.loginbtn);
60
Bhanu Sharma
 ImageView whoamiwith = (ImageView)findViewById(R.id.whoamiwith)  
 Drawable new_image= getResources().getDrawable(R.drawable.loginbtn);   
    whoamiwith.setBackgroundDrawable(new_image);
9
Eloytxo

Essayez

ImageView whoamiwith = (ImageView)findViewById(R.id.whoamiwith)  
whoamiwith.setImageResource(R.id.new_image);
3
Jitesh Dalsaniya

Initialiser la vue de l'image:

whoamiwith = findViewByid(R.id.whoamiwith);

Ensuite, sur la méthode Click, écrivez ces lignes pour modifier la ressource d'image:

 if(Android.os.Build.VERSION.SDK_INT > 15)
    {
        // for API above 15
        whoamiwith.setBackground(getResources().getDrawable(R.drawable.loginbtn));
    }
    else
    {
        // for API below 15
        whoamiwith.setBackgroundDrawable(getResources().getDrawable(R.drawable.loginbtn));
    }
1
SweetWisher ツ

L'exception est whoamiwith est null. avez-vous initialisé whoamiwith comme, ImageView whoamiwith = (ImageView) findViewById (R.id.whoamiwith)

Reportez-vous tilisation de setImageDrawable dynamiquement pour définir l'image dans une ImageView

1
Manivannan
ImageView whoamiwith = (ImageView)findViewById(R.id.whoamiwith);
whoamiwith.setImageResource(R.drawable.image_i_wanna_put);
1
RussVirtuoso