List'e Txtden Veri Yükleme

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    h0rtl4kk
    h0rtl4kk's avatar
    Kayıt Tarihi: 10/Şubat/2014
    Erkek

    Assets klasörü içindeki kelimeler.txt dosyasına ulasıp içindeki kelimeleri list'e aktarıp, list'e aktarırkende toast mesajı şeklinde ve ekranda bulunan textview'e o anki kelimeyi yazdırmak istiyorum.

    kelimeler.txt içindeki kelimeler şu şekilde

    araba
    ev
    sinema
    parke
    masa
    telefon

    Resimde görceğiniz üzere toast mesajı boş gözüküyor. Halbuki orda kelimeler dosyasındaki bir kelimeyi yazdırması gerekiyor. Yardımlarınızı bekliyorum.

    (TextView'in içi boş olduğu için yani herhangi bir yazı olmadığı için ekranda gözükmüyor listdeki veriyi yazdırması gerekiyor normalde)

     

    try {
    	txtOku = new BufferedReader(new InputStreamReader(getApplicationContext().getAssets().open("kelimeler.txt")));
    	while ((kelime = txtOku.readLine()) != null) {
    		numLine++;
    	}
    	for (int i = 0; i < numLine; i++) {
    		kelimeListesi.add(txtOku.readLine());
    		if(kelimeListesi.size() == 0){
    			kelimeGoster.setText("NULL NULL NULL");
    		        Toast.makeText(getApplicationContext(),"NULL NULL NULL", Toast.LENGTH_LONG).show();
    		} else {
    			kelimeGoster.setText(kelimeListesi.get(i));
    			Toast.makeText(getApplicationContext(), kelimeListesi.get(i), Toast.LENGTH_LONG).show();
    		}
    		}
    		} catch (IOException iox) {
    			iox.printStackTrace();
    		}
            



     

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    h0rtl4kk
    h0rtl4kk's avatar
    Kayıt Tarihi: 10/Şubat/2014
    Erkek

    Listdeki veriler artık null dönmüyor txt dosyasındaki kelimeleri alıyor ama hepsini tek bir satırda alıyor.

    Veriler araba
    ev
    masa... gibi alt alta iken list.add(araba), listadd(ev) yazdırması yerine

    list.add(arabaevmasa), listadd(arabaevmasa).... şeklinde yazdırıyor. Her satırı listede ayrı ayrı tutmuyor :/

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mugen
    mugen's avatar
    Kayıt Tarihi: 22/Haziran/2013
    Erkek

    ben olsam newline karakterine göre parçalar diziye atar döngüye sokardım, ama uzman işi başka olur.


    O mahiler ki derya içredir deryayı bilmezler.. .
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    hocam sorunun while döngüsünü text ler bitene kadar çalıştırman

    ondan sonra alttaki for döngüsüyle bitmiş textleri tekrar okutturman..

    normalde hepsini tek bir döngü ile yapman gerekir..ama illa kendi kodunu kullanacaksan while ın içine şunu yap

        while ((kelime = txtOku.readLine()) != null) {

            numLine++;

            kelimeListesi.add(kelime);

        }

    for döngüsünde de bu kısmı sil

            kelimeListesi.add(txtOku.readLine());

    çalışması lazım


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    h0rtl4kk
    h0rtl4kk's avatar
    Kayıt Tarihi: 10/Şubat/2014
    Erkek

    Tamamdır sorunu çözdüm. Şimdi tek tek ekliyor listeye ve random olarak listedeki verilerden bir tanesini secebiliyorum.

    //Toast kodunu test amaclı while içine koydum

    Edit : kelimeListesi.get'i  String.valueOf() içerisinde yazmadığım için toast mesajı boş gözüküyordu.

    try {
    			txtOku = new BufferedReader(new InputStreamReader(getApplicationContext().getAssets().open("kelimeler.txt")));
    			while ((kelime = txtOku.readLine()) != null) {
    				kelimeListesi.add(kelime);
    				Integer generatedIndex = rnd.nextInt(kelimeListesi.size());
    				Toast.makeText(getApplicationContext(), String.valueOf(kelimeListesi.get(generatedIndex)), Toast.LENGTH_LONG).show();
    			}
    		} catch (IOException iox) {
    			iox.printStackTrace();
    		}

     

     

     

    h0rtl4kk tarafından 18/Haz/15 02:07 tarihinde düzenlenmiştir
Toplam Hit: 754 Toplam Mesaj: 5
list arraylist eclipse