Soru & Cevap

Android programlama Arkadaşlar acil (soru açıklama kısmında)

14.05.2016 - 05:09

Arkadaşlar diyelim ki elimde 50 adet birer cümlelik söz var ve 1 tane TextView kullanarak ve her butona tıkladıımda bu cümleler sırasıyla nasıl TextView içerisinde gözükecek. bir de geri butonu olacak bu da bir önceki cümleyi gösterecek. Bunların hepsi tek bir activity içerisinde olacak. Kod parçacığı olur site linki olur bi  şekilde yardım edin acilllll.

21 Görüntülenme

3 Cevap

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

Profile picture for user Karademir75
Karademir75
15.05.2016 - 02:16

Tamamdır arkadaşlar ben sorunu hallettim aynı sorunla karşılaşanlar için kodları aşağıya yazıyorum.

 

int sayac=0;

final String ozlu_sozler[] = {"1. cümle","2. cümle","3.cümle","......","20. cümle"}  // istediğiniz kadar yazabilirsiniz.

final TextView tv;
        final Button geri1;
        final Button ileri1;
        
        tv = (TextView) findViewById(R.id.tv1);  // tv1 = TextView id.
        geri1 = (Button) findViewById(R.id.geri); // geri = Button id.
        ileri1 = (Button) findViewById(R.id.ileri); // ileri= Button id.

 tv.setText(ozlu_sozler[sayac]);
        
        geri1.setOnClickListener(new View.OnClickListener() {   //burada yaptığımız geri butonu için eğer sayaç 0'dan büyükse sayacı bir azalt (her tıkladığımınzda) taki sayaç 0 olunca geri butonu pasif oluyo.
            
            @Override
            public void onClick(View v) {
                if(sayac>=1){
                sayac--;
                tv.setText(ozlu_sozler[sayac]);
                } else {
                    geri1.setEnabled(false);
                }
                if(sayac>=0){
                    geri1.setEnabled(true);
                }
            }
        });

//burada ise sayac sayısı cümle sayısına eşit olunca sayacı = 0; oluyo  ve sayac++; dediğimizde 1. cümleden devam ediyo.

ileri1.setOnClickListener(new View.OnClickListener() {
            
            @Override
            public void onClick(View v) {

if(sayac>=0 & sayac<20){
                    sayac++;
                    tv.setText(ozlu_sozler[sayac]);
                }
                else if(sayac==20){
                    sayac = 0;
                    tv.setText(ozlu_sozler[sayac]);
                    
                    
                }
                
                }
            
        });
    }

 

Mirza Karahan
15.05.2016 - 06:25
Herhangi bir hata ile karşılaşmamak için işi tesadüfe bırakmamalısın else ide yapmalısın
Profile picture for user raydingoz
raydingoz
14.05.2016 - 10:55

Basit yöntem: 

her bir cümlenize sayı atayın, mesela

int sira = 1;
String cumle1 = "Cümle 1";
String cumle2 = "Cümle 2";
String cumle3 = "Cümle 3";
String GosterilecekString ="";

        switch (sira) {
            case 1:  GosterilecekString = cumle1;
                     break;
            case 2:  GosterilecekString = cumle2;
                     break;
            case 3:  GosterilecekString = cumle3;
                     break;
            default: GosterilecekString = "cümle yok";
                     break;
        }



//sonraki buton komutu:
sira=sira+1;
//sıralama 3'ten büyük olmasın veya başa sardırabilirisniz "sira=1" diyerek
if(sira>3){
sira=3;
}
textview=GosterilecekString; //sayfayı yenilemek için buton kodunun içinde olması gerekiyor
//


//önceki buton komutu:
sira=sira-1;
//sıralama 1'ten küçük olmasın veya başa sardırabilirisniz "sira=3" diyerek
if(sira<1){
sira=1;
}
textview=GosterilecekString; //sayfayı yenilemek için buton kodunun içinde olması gerekiyor

//

Kabaca böyle bir şey olur.

 

Ayrıntılı yöntem ise şöyle kabaca;

xml dosyasına shaderprefences şeklinde kayıt edersiniz, Tag yani etiketi numarası olur, değeri ise cümle olur.

Başka bir kod içinde json ile bu xml dosyasını internet üzerindengüncellersiniz.  Uygulama içinde, int oluşturur, butonlar ile bunu artırıp azaltırsınız.  bu int değerinin xml dosyasındaki karşılığını textview olarak çekersiniz.

 

Ayrıntılı bilgi için anahtar kelimeler; "JSON Parse", "sharedpreferences"

Profile picture for user alpergorgulu
alpergorgulu
14.05.2016 - 06:06

Fragmentleri araştırmanı öneririm. O zor gelirse 1den 50'ye kadar sayı atarsın. textwiev'i bu sayılara atarsın. bi for döngüsü yazarsın. her buton clicklendikçe değer 1 artar. ama emin ol fragmentler daha basit :) ya da en kötü şartlarda 50 textwiev koy. visible/invisible yap :)

Fatih
14.05.2016 - 11:20
Hocam fragmenti ve 50 tane texviewi boşver de bu 1-50 arası sayı atama textviewe bağlama falan bu hoşuma gitti bak. biraz daha ayrıntılı yazar mısın hatta mümkünse kod halinde yazarsan süper olur. Çünkü android programlamada pek bilgim yok.
Alper Görgülü
15.05.2016 - 10:51
dediğim şey tam da Rafi Hocanın yazdığı gibi bir şeydi :)