2015-09-19 4 views
0

Я новичок в программировании для Android. Я хочу установить динамические изображения в один xml, когда это отображается. В частности, я храню мои связанные с проектом изображения в папке с возможностью переноса. Также я сохраняю имена изображений в строковой переменной и динамически пытаюсь установить эти изображения в образ. Но изображение не отображается.Установить изображение динамически в imageView в android

Мой код:

protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.stone);  

     imageView = (ImageView)findViewById(R.id.stone_xxxx); 

     Intent intent = getIntent(); 
     position = intent.getStringExtra("POSITION"); 

     if (position == "0") 
     { 
     int imageResource = getResources().getIdentifier( "@drawable/stone_a1", null, getPackageName()); 
     Drawable res = getResources().getDrawable(imageResource); 
     imageView.setImageDrawable(res); 
     } 
    } 
+0

вы можете войти значение imageResource после INT imageResource = getResources(). getIdentifier ("@ drawable/stone_a1", null, getPackageName()); – RBK

ответ

0

Я нашел проблему.

Оно должно быть: если (position.equals ("0")) Кроме того, я использую только: imageView.setImageResource (R.drawable.stone_a1)

0

Попробуйте

final int sdk = android.os.Build.VERSION.SDK_INT; 
if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) { 
    imageView.setBackgroundDrawable(getResources().getDrawable(R.drawable.stone_a1)); 
} else { 
    imageView.setBackground(getResources().getDrawable(R.drawable.stone_a1)); 
} 

для получения дополнительной помощи посещения здесь https://stackoverflow.com/a/12523109/5202007

+0

не работает –

+1

@Ezazel, вы пробовали отладить его. Я думаю, проблема заключается в 'if (position ==" 0 ")' – Tauqir

+0

, эта ссылка вам поможет. http://stackoverflow.com/a/513839/5202007 – Tauqir

0
ImageView imageView = new ImageView(this); 
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.image); 
imageView.setImageBitmap(bmp); 
+0

это не работает –

0

Надеется, что это будет работать для вас ..

imagev1=(ImageView) findViewById(R.id.imageViewslider22); 
      final int []imageArray={R.drawable.img1,R.drawable.img2,R.drawable.img3,R.drawable.img4,R.drawable.slider3,R.drawable.slider4,R.drawable.slider5,R.drawable.slider6,R.drawable.slider7}; 

      final Handler handler = new Handler(); 
      Runnable runnable = new Runnable() { 
      int i=0; 
      public void run() { 
         imagev1.setImageResource(imageArray[i]); 
          i++; 
           if(i>imageArray.length-1) 
      { 
      i=0;  
      } 
      handler.postDelayed(this, 30000); //for interval... 
      } 
      }; 
      handler.postDelayed(runnable, 2000); //for initial delay.. 
Смежные вопросы