Soru & Cevap

Android ımage Slider resimlere link (xml) verme

16.11.2015 - 12:23
   <android.support.v4.view.ViewPager
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/view_pager"
                android:layout_width="fill_parent"
                android:layout_height="250dp" />

content_main.xml dosyamdaki viewpagerda Android İmage Slider yaptım

  private class ImagePagerAdapter extends PagerAdapter {
        private int[] mImages = new int[] {
                R.drawable.im1,
                R.drawable.im2,
                R.drawable.im3,
                R.drawable.im4
        };
.
.
.
.
.
.

MainActivity.java dosyamda bu kod parçacığı ile dosya yollarımı belirtip viewpager a çektim 

benim istediğim her resime farklı url vermek istiyorum her farklı resime tıklayınca yeni bir xml dosyası açılsın istiyorum ..

Görsel kaldırıldı.

261 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-28812-1452251417.jpg
umutonur
16.11.2015 - 10:39

Anladığım kadarıyla tıklanan ImageView nesnesinin kaynak dosyasına bakıp ona göre bi sayfa açılsın istiyorsun.
Ama bildiğim (ve araştırdığım) kadarıyla ImageView nesnesinde yüklü olan resim dosyasının uzantısını almanın bi yolu yok.. 

Resimlerin dosya uzantılarını bir Array dizisinden çektiğin için ImageView nesnelerinin belirlerken setResource() ile birlikte setTag() metodunu da kullanarak her resime bir etiket ekleyebilir ve tıkladığımız resmin etiketine göre farklı sayfalar açabiliriz..

Somutlaştıracak olursak;

// ImageView.setResource(mImages[]) şeklinde resimleri eklediğini varsayıyorum..

ImageView1.setResource(mImages[0]);
setTag(0);
ImageView2.setResource(mImages[1]);
setTag(1);
.
.
.

şeklinde resimleri ekleyip 

            public void onClick(View v) {
                //resime tıklandığında gerçekleşecek olaylar
                sayfaAc(position);
            }

yerine

            public void onClick(View v) {
                //resime tıklandığında gerçekleşecek olaylar
                sayfaAc(ImageView.getTag());
            }

düzenleyerek tıklanan dosyanın hangisi olduğunu bilir ve ona göre işlem yapabiliriz..

Umarım yardımcı olabilmişimdir..

 

picture-64357-1469476477.jpg
bestekarx
16.11.2015 - 06:04

imageslider da birden fazla resim var im1 e tıkladığımda im1 e göre sayfa açılsın

im2 ye tıkladığımda im2 ye göre sayfa açılsın farklı farklı asp.net teki repeater gibi

picture-28812-1452251417.jpg
umutonur
16.11.2015 - 02:22

MainActivity class'ında imageView adında bir (ImageView) nesnenin olduğunu var sayıyorum..

Bu tarz bir yöntem'in yardımcı olacağını düşünüyorum..

    @Override
    public Object instantiateItem(ViewGroup container, final int position) {
        return super.instantiateItem(container, position);

        imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //resime tıklandığında gerçekleşecek olaylar
                sayfaAc(position);
            }
        });

        ((ViewPager) container).addView(imageView, 0);

        return imageView;
    }

    //yeni bir sayfa açma
    public void sayfaAc(int sayfa) {
        switch (position) {
            case 0:
                startActivity(MainActivity.this, sayfa1.class);
                break;
            case 1:
                startActivity(MainActivity.this, sayfa2.class);
                break;
            default:
                break;
        }
    }

bunlar bana yetmez daha fazla bilgi lazım dersen; StackOverFlow 'u daha detaylı inceleyebilirsin..