Soru & Cevap

gridView Adapter ve İf kotrolü

09.05.2014 - 04:21

merhaba

bir gridView itemlerine pozisyonlarına göre imageAdapter ile iconlar(küçükeşya resimleri vs.) atadım.

OnItemClick motoduna;

public void onItemClick(AdapterView<?> parent, View v, int position,
             long id) {
            // TODO Auto-generated method stub
            Toast.makeText(getBaseContext(),
              "Resim" + (position + 1) + " secildi",
              Toast.LENGTH_SHORT).show();
            
            if(position ==0){
                mp0.start();
          }
        if(position ==1){
                mp1.start();
            }
           if(position ==2){
                mp2.start();
              }
            if(position ==3){
                mp3.start();
            
            }
            if(position ==4){
                mp4.start();
          }
        }
        });

if lerle pozisyonlarına göre gridView itemlerine(iconlara) sesler atadım sesler sorunsuz çalışıyor. fakat iconlar 50-60 tane olacak bu sekilde yapmalımıyım yoksa daha sağlıklı bir yontem varmıdır?

2. bir icona basınca ses çalıyor. iknci icona bastıgımda ilk ses durmadan çalısıyor sesler karışıyor. yani;

icona basıldıgında ses çalarken diger icona basıldıgında ilk sesin durmasını;

ses çalarken aynı butona basıncada yine sesin durup tekrar çalmasını

yani herturlu tek ses calmasınıi, sesın çakışmamasını nasıl sağlarım tesekkureler

 

iyi çalışmalar...

5 Görüntülenme

1 Cevap

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

Geleceği Yazanlar Kullanıcısı
10.05.2014 - 07:55

seslerin aynı anda çalışması sorununu hallettim. buna cozum arayanlar onClick metoduna şu kodu ekleyebilirler

[code]

MediaPlayer mPlayer;

if (position == 0) {

                    if(mPlayer!=null)
                    {
                        mPlayer.release();
                        mPlayer=null;
                    }

                    mPlayer = MediaPlayer.create(MainActivity.this,
                            R.raw.ses1);
                    mPlayer.start();

                }

[/code]

picture-539-1376512244.jpg
enessen
09.05.2014 - 04:50

Selam Ömer,

       GridView elementlserini olustururken view lerin setTag(Object o ) ile taglerine çalmak istediğin ses dosyasının idsini yada bi şekilde referansını verirsin. onClick metodunda da o view den getTag() ile ses dosyasını alırsın. Sonrasında bir mediaPlayer ile ilerleyerek çalıyor ise durdurur, yeni ses dosyası referansını mediaPlayer a geçer ve gerekli sesi bu sayede çalmış olursun.

Şimdilik aklıma gelen bu :)

Kolaylıklar.

Anıl SÖZERİ
09.05.2014 - 09:41
if veya switch-case yapısını kullanın fakat iflerle yapacaksanız sürekli if, if, if... şeklinde değil if, else if, else if..., else şeklinde kullanırsanız daha doğru olacaktır aksi takdirde gereksiz işlem yapmış olursunuz.