• 02-09-2022, 18:35:07
    #1
    Merhabalar başlıkta da belirttiğim gibi sorunum şu şekildedir.

    Java kullanarak basit bir işlem yapmaya çalışıyorum ancak şöyle bir sorunla karşılaştım.

    Diyelim elimde 450 adet verisi bulunan bir dizi var diyelim.
    String[] array = new String[450];
    Ben bu dizideki her bir elamanı alt alta edittext'e atamak istiyorum.
    for(int i =0; i< array.lenght; i++){
    edittext.settext(array[i]+"/n")
    }
    Ancak sorunum şu yukarıda yapısını verdiğim kod dizideki elemanı edittexte atamaya çalışırken önceki atadığı veriyi silip sonuncu veriyi yerine geçiriyor.

    Yani edittexte yazması gereken;
    (
    indis1
    indis2
    ....
    indis450
    )

    iken sadece sonuncu veri olan
    (
    indis450
    )

    yazıyor. Bu sorunu nasıl aşabilirim? yani edittexteki önceki veriyi silmeden üstüne nasıl ekleyebilirim.

    Notedittext.setText(edittext.getText().toString( )+array[i]+"n")
    ) Bu yöntemi önermeyin çünkü 1000-5000 arasında veya daha fazla veri gelirse uygulamanın crash vermesine sebebiyet veriyor fazla işlem gücünden dolayı.
  • 02-09-2022, 19:04:26
    #2
    İlk önce hepsini string e ekleyip sonra edittext e yazınca olmaz mı ?
    String s = “”;
    for(int i =0; i< array.lenght; i++)
    s= s+ array.get(i)
    edittext.settext(s);

    mobildeyimde belki yanlış yazmışımdır

    ya da edittext.append gibi bir şey vardı onu deneyin
  • 02-09-2022, 19:12:16
    #3
    41Yazılım adlı üyeden alıntı: mesajı görüntüle
    İlk önce hepsini string e ekleyip sonra edittext e yazınca olmaz mı ?
    String s = “”;
    for(int i =0; i< array.lenght; i++)
    s= s+ array.get(i)
    edittext.settext(s);

    mobildeyimde belki yanlış yazmışımdır

    ya da edittext.append gibi bir şey vardı onu deneyin
    Emeğiniz için teşekkür ederim. Şimdilik bu yöntemi kullanıyorum evet ama bu yöntem ise RAM'i çok fazla kullanıyor. Daha optimize bir yöntem bulana kadar böyle devam edeceğim.
  • 03-09-2022, 04:11:50
    #4

    Bu şekilde yazdığım zaman herhangi bir sorunla karşılaşmadım, ek olarak sanırım sadece EditTextleri ayrı bir ArrayList üzerinde kaydettim belki yardımcı olur..
  • 03-09-2022, 05:05:43
    #5
    GlmzWeb adlı üyeden alıntı: mesajı görüntüle

    Bu şekilde yazdığım zaman herhangi bir sorunla karşılaşmadım, ek olarak sanırım sadece EditTextleri ayrı bir ArrayList üzerinde kaydettim belki yardımcı olur..
    Merhaba yanıtınız için teşekkür ederim ancak bu kod sorunumu tam olarak çözmüyor. Yaşadığım sorun diziye eleman atayamamak değil dizideki n kadar elamanı satır satır edittext nesnesine setText etmekti.

    Şimdilik şöyle bir çözümüm var.
    String  data;
    for(int i=0; i< array.lenght; i++){
       data += array[i]+"\n";
    }
    edittext.setText(data)
    Burada önce dizideki veriyi String bir değişkene atıyorum daha sonra tek seferde edittex nesnesine atıyorum. Normalde döngü içerisinde edittext nesnesine veri atamaya çalışırsam sıradaki veriyi diğerinin üstüne atıyordu yani sonuç olarak dizideki sonuncu veriyi edittexte atamış oluyordum.
  • 05-09-2022, 07:32:09
    #6
    Merhaba, StringBuilder ile sorununuzu çözebilirsiniz.
    StringBuilder stringBuilder = new StringBuilder();
    for (String s : array) {
    stringBuilder.append(s).append("\n");
    }
    editText.setText(stringBuilder.toString());
  • 05-09-2022, 07:53:39
    #7
    mixerdating adlı üyeden alıntı: mesajı görüntüle
    Merhaba, StringBuilder ile sorununuzu çözebilirsiniz.
    StringBuilder stringBuilder = new StringBuilder();
    for (String s : array) {
    stringBuilder.append(s).append("\n");
    }
    editText.setText(stringBuilder.toString());
    Merhaba, teşekkür ederim eve geçer geçmez çalışma mantığına bakacağım. 🙏