android afbeeldingpagina.setBackgroundResource() werkt niet

Ik heb een afbeeldingpagina dat veranderd moet worden, klik op

public class Settings extends Activity implements OnClickListener
{
     private ImageView im1;
     @Override
     public void onCreate(Bundle savedInstanceState)
     {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.settings);
         im1 = (ImageView) findViewById( R.id.imageView1 );
         im1.setOnClickListener(this);
     }
     @Override
     public void onClick(View v)
     {
         //TODO Auto-generated method stub
         if (v == im1 )
         {
             Log.d("test", "hey!");
             v.setBackgroundResource(R.drawable.img1);
         }
     }
}

wanneer er op geklikt wordt de methode wordt uitgevoerd en prenten uit “hey!”, maar het beeld zal niet veranderen?

BEWERKEN: vergeten te vermelden dat imageview bevat een afbeelding die door de xml-indeling bestand

  • is het beeld dat uw afbeeldingpagina bevat transparant ? omdat de achtergrond is, en, op de achtergrond

 

5 Replies
  1. 48

    Door het verdrag, moet u setImageResource(R.drawable.img1); (of setImageDrawable(getResources().getDrawable(R.drawable.img1));) in plaats van setBackgroundResource(R.drawable.img1);.

  2. 3
      ImageView i = (ImageView) findViewById( R.id.imageView1 );
      i.setImageResource(R.id.logo);
    
       or
    
      i.setBackgroundResource(R.drawable.icon);
  3. 2

    UPDATE

    Nu, u kunt gebruik zoals hieronder

    imageView.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.img1));
  4. 0

    Zijn geen verdrag dat setimageResource() moet worden gebruikt.
    Zowel de Api ‘ s kan worden gebruikt.

    Ook, in uw geval, het lijkt net alsof het geval van out of sync middelen.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *