2015-06-05 2 views
0

С веб-учебник, я получил этот код:image in drawable folder - тип данных int?

public class ImageAdapter extends PagerAdapter 
{ 
    Context context; 
    private int[] GalImages = new int[] {R.drawable.one, R.drawable.two, R.drawable.three}; 

    ImageAdapter(Context context) 
    { 
     this.context = context; 
    } 

    @Override 
    public int getCount() 
    { 
     return GalImages.length; 
    } 

    @Override 
    public boolean isViewFromObject(View view, Object object) 
    { 
     return view == ((ImageView) object); 
    } 

    @Override 
    public Object instantiateItem(ViewGroup container, int position) 
    { 
     ImageView imageView = new ImageView(context); 
     int padding = context.getResources().getDimensionPixelSize(R.dimen.padding_medium); 
     imageView.setPadding(padding, padding, padding, padding); 
     imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); 
     imageView.setImageResource(GalImages[position]); 
     ((ViewPager) container).addView(imageView, 0); 
     return imageView; 
    } 

    @Override 
    public void destroyItem(ViewGroup container, int position, Object object) 
    { 
     ((ViewPager) container).removeView((ImageView) object); 
    } 
} 

Со стороны private int[] GalImages = new int[] {R.drawable.one, R.drawable.two, R.drawable.three};
Мой вопрос, почему файл изображения можно хранить в целочисленный тип данных? и возможно ли, если я изменю R.drawable.one, R.drawable.two, R.drawable.three на другие мои изображения, которые находятся на моем устройстве? Например: file:///sdcard/Phone/abc.jpg

+0

Это не образ, это целое число, это «путь к файлу» /R.drawable путь к нему, что есть. – Razgriz

ответ

0

Ваш тип данных Drawable не является int; Ваша ссылка на это int, которую вы можете увидеть в R.java.

И нет, вы не можете изменить эти ссылки во время выполнения.

Если вы заглядываете в свой файл R.java, вы можете увидеть, что объявлено final.

Пример: public static final int actionBarSize=0x7f010062;