'daki tüm öğelerin metninden nasıl alırsınız? Birkaç TextViews, EditViews ve bir Düğme ile bir görünümüm var. Tüm öğeler arasında yineleme yapmak ve her bir öğenin metin değerini almak istiyorum. Kullanıcının ekranda yaptığı şeylere bağlı olarak, ekranda hangi öğelerin göründüğüne bağlı olarak, her bir isimle başlayamıyorum. Ve her seferinde farklı sayıda öğe olabilir. Öğeleri dinamik olarak oluşturuyorum ve her bir metin görünümünün metnini ayarladım, ancak kullanıcı düzenleme görünümüne bilgi girecek. Bu yüzden sadece metin görünümündeki metni değil, kullanıcının düzenleme görünümüne koyduğu metni bilmem gerekiyor ve kullanıcı girdisinin doğru metin görünümüne gittiğinden emin olmam gerekiyor. Yani "2x2" yazan ve "4" yazan bir metin görüntüm varsa, 4'ün 2x2 metin görünümüne gittiğinden emin olmam gerekir. Bakmaya nereden başlayacağımı bilmiyorum, hiçbir şey denemedim. Eğer birisi beni doğru yönde gösterebilirse, bu iyi olur. Bu arada, bu ev ödevi değildir. Hala üzerinde çalıştığım aynı uygulama haftalardır beni yok ediyor. Teşekkürler.Düzeni
Düzeni
cevap
Çocuklar üzerinde yineleme yapabilir ve sonra sınıf tiplerini kontrol edebilirsiniz.
// you need the ID of the layout - in this example the ID is myLayout
// or you get the layout object instance otherwise
LinearLayout layoutMyLayout = (LinearLayout) findViewById(R.id.myLayout);
if (layoutMyLayout != null)
{
for (int i = 0; i < layoutMyLayout.getChildCount(); x++)
{
View viewChild = layoutMyLayout.getChildAt(i);
if (viewChild instanceof EditText)
{
// get text from edit text
String text = ((EditText)viewChild).getText().toString();
//TODO: add rest of the logic
} else if(viewChild instanceof TextView) {
// get text from text view
String text = ((TextView)viewChild).getText().toString();
//TODO: add rest of the logic
}
}
Yalnızca örneğe gereksiniminiz var ve oradan postalanan yöntemlere sahipsiniz. Oldukça düz ileri.
Eğer "instanceof" yi kullanıp daha sonra sınıf ismini karşılaştırmak için koşulu değiştirdim. Bağlantıyı kaldırmamın nedeni de bu, çünkü bence bu daha da iyi. –
Teşekkürler. Ben deneyeceğim ve size bildireceğim. – vbneil54
@ vbneil54 trick mi yaptı? –
- 1. Düzeni
- 2. Düzeni Açıklık - android masa düzeni
- 3. Kakao'da otomatik "zorlama" düzeni Düzeni
- 4. Düzeni şablona sahip js - ejs düzeni
- 5. Android S3 düzeni vs Galaxy Nexus düzeni
- 6. Android - Koordinatör Düzeni, Çekmece Düzeni ve Fragmanlar
- 7. Düzeni: main.xml
- 8. Filtre düzeni
- 9. URL Düzeni
- 10. CSS düzeni:
- 11. URL Düzeni
- 12. Sayfa Düzeni
- 13. Dizin Düzeni?
- 14. Ortam çok sayfalı sayfa yazdırma Tablo kenarlığı düzeni Düzeni
- 15. android sistem düzeni sadece xml dosyaları alıyor düzeni-320
- 16. iOS URL Düzeni Uzunluk
- 17. Sohbet düzeni oluşturma?
- 18. Blackberry - düzeni animasyonu alanları
- 19. OpenGL köşe düzeni
- 20. Android Studio Düzeni Hatası
- 21. Düğme düzeni değişiklikleri emülatör
- 22. Android değiştirmek düzeni siparişleri
- 23. Eğik Materyal Tasarımı düzeni
- 24. Bellek düzeni optimizasyonu C#
- 25. düzeni ve esnek düzen
- 26. WPF'de tablo düzeni
- 27. Gelişmiş ASP.NET Gridview Düzeni
- 28. Taşıma Düzeni özellikleri
- 29. Android Düzeni Tasarımı
- 30. Java grafik düzeni algoritmaları
Bir görüntüleme grubu kullanın (LinearLayout, RelativeLayout ..) ve bu iletide açıklanan for döngüsüyle tüm çocukları alın. http://stackoverflow.com/questions/7784418/get-all-child-views-inside-linearlayout-at-once – uguboz