Turkish subtitles

← Casting with findViewById

Get Embed Code
13 Languages

Showing Revision 2 created 12/04/2015 by Fran Ontanaya.

  1. Aradığımız kodu, uygulamamıza
    ekledim.
  2. Kod şu: siparişÖzetiMetinGörünümü
    =kimlikleGörünümBul.
  3. sipariş_özet_metin_görünümü
    kimlik kaynağını geçiriyoruz.
  4. Fakat bu, Android Studio'da başka
    bir hataya neden oluyor.
  5. MetinGir metodu çözülemiyor
    deniyor.
  6. Buraya başka bir kod satırı eklersem,
  7. Bu değişken üzerinde geçerli olan
    metot türlerini size gösterebilirim.
  8. Burada siparişÖzetiMetinGörünüm
    değişkenini ve
  9. VeriTürünü yarattım, böylece
  10. bir sonraki satırda
    metotları çağırabiliriz.
  11. Eğer otomatik tamamlama
    önerilerine bakarsanız,
  12. Bu metotların, Görünüm metotları
    olduğunu görürsünüz.
  13. MetinGörünümü'ne özgü bir metot yok.
  14. Örneğin, metinGir metodu yok.
  15. Bu, metinKur'u çağırdığımızda
    hata oluşmasının sebebidir.
  16. Metin boyutunu ya da rengini ya da
    herhangi birini giremezsiniz.
  17. Peki bu metotlar nerede?
  18. Pekala, MetinGörünümü
    daha spesifik bir Görünüm biçimidir.
  19. Bu yüzden, eğer MetinGörünümü metodunu
  20. bu nesne üzerine çağırırsam, bunun
    MetinGörünümü nesnesi o emin olmalıyım.
  21. Tamam. Değişkenimiz şimdi
    bir MetinGörünümü nesnesidir.
  22. Fakat sonra başka bir hata, uyumsuz türler
    hatasını görüyorum çünkü MetinGörünümü'nün
  23. sağ tarafta olması gerekir fakat
    görünümün değişmediğini görüyoruz.
  24. Çünkü kimlikleMetinBul metodu
    bir Görünüm döndürüyor.
  25. Bunları nasıl uzlaştırabiliriz?
  26. Pekala, MetinGörünümü daha spesifik bir
    Görünüm biçimi ya da
  27. bir altsınıf görünüm olduğu için
    döküm dediğimiz şeyi çağırabiliriz.
  28. Java'da dökümün anlamı, bu metot
    tarafından döndürülmüş görünümü alıp
  29. bir MetinGörünümü olarak muamele etmektir.
  30. Sağ taraftaki aslında bir MetinGörünümü
    nesnesidir ve
  31. siparişÖzetiMetniGörünümü değişkeni
    içinde depolayabiliriz.
  32. Bunun gerçekten göz korkutucu olduğunu
    biliyorum çünkü bir sürü kavramdan
  33. söz ettik.
  34. Tekrar açıklayayım.
  35. kimlikleGörünümBul metodu, bir Görünüm
    verisi nesnesi döndürüyor.
  36. İstenilen veri türü nesnesini,
  37. ortada parantezler içine alarak
    yazdığım bu formülle,
  38. bu görünümü MetinGörünümü
    içine döküyorum.
  39. Bu ifadenin tümü,
    MetinGörünümü nesnesinin değerini verir.
  40. Sonra, sol taraftaki bu değişken
    içinde depolayabiliriz ki,
  41. bu değişken siparişÖzetiMetinGörünümü'dür
    ve MetinGörünümü türüne sahiptir.
  42. Sonraki satırlarda, MetinGörünümü
    metotlarını bu nesne üzerine çağırabiliriz.
  43. Tüm metin metotlarının burada
    gösterildiğini görüyor musunuz?
  44. büyükHarfGir, metinBoyutuGir ve
    daha fazlası.
  45. Şimdi bunu silebilirim
    çünkü MetinGir'in çalışması gerekiyor,
  46. ve artık daha fazla görmüyoruz.
  47. MetinGörünümü metotlarını çağırabilmek
    istiyorsak,
  48. bir MetinGörünümü nesnesine
    sahip olmalıyız.
  49. Bir MetinGörünümü'ne sahip olmak için,
    KimlikleGörünümBul'u çağırmalıyız,
  50. sonra bu Görünüm nesnesini
    MetinGörünüm içine dökmeliyiz.
  51. Döküm'ün işlemesinin sebebi
  52. görünüm hiyerarşisindeki bu Görünüm'ün
    esas olarak bir MetinGörünümü olmasıdır.
  53. Radyo tuşu gibi bir şeyin içine
    dökmeye çalışırsak, çalışmayacaktır
  54. çünkü siparişÖzetiMetniGörünümü
    esasen bir Metin Görünümüdür yani
  55. uygun bir tür içine
    döküm yapmalıyız.
  56. Benzer şekilde, miktarGöster metodunda,
    kimlikleGörünümBul'u çağırıyoruz ve
  57. MetinGörünümü kaynak kimliğini
    geçiriyoruz.
  58. Bu, bir Görünüm döndürüyor ve biz de
    bunu MetinGörünümü içine döküyoruz ve
  59. böylece bunu miktarMetniGörünümü
    değişkeni içinde depolayabiliyoruz.
  60. Bu değişken Metin görünümü türüne sahip,
    böylece
  61. takip eden satırlarda, metinGir gibi
    MetinGörünümü metotlarını çağırabiliriz.
  62. Burada, döküm'ü kullanan güncellenmiş
    AnaAktivite kodunu görüyoruz. Bu görünümü,
  63. MetinGörünümleri’ne dökmek için,
    MetinGörünümü türünde olan değişkenlerde
  64. depolayabiliriz böylece
    bu AnaAktivite listesindeki
  65. miktarMetinGörünümü ve siparişMetinGörünümü,
    MetinGörünümü türü olur.
  66. MetinGörünümü metotlarını bunlar
    üzerine çağırabiliriz.
  67. Ayrıca kendimizi bunlara
    Görünümler olarak davranmakla sınırlamayız.
  68. Şimdi MetinGörünümü'ne özgü metotları,
    bu değişkenler üzerine çağırabiliriz.
  69. Örneğin, metinGir'i sipariş
    ÖzetiMetinGörünümü üzerine çağırabiliriz,
  70. metinGir'i miktarMetinGörünümü
    üzerine de çağırabiliriz.
  71. Gördüğünüz gibi,
  72. hangi veri türünün, nerede kullanıldığı
    konusunda dikkatli olmalısınız.
  73. Şimdiye kadar, metotları çağırdık ve
    döndürülen değer konusunda kaygılanmadık
  74. çünkü metinGir metodu esasen
    döndürülen bir değere sahip değildir.
  75. Bu, resimGörünümü.resimKaynağıGir
    metodu içinde geçerlidir.
  76. Döndürülen bir değer yoktur.
  77. Fakat diğer metotlar döndürülen
    değerlere sahip olabilir.
  78. Örneğin, MetinGörünümü sınıfında,
    MetinBoyutuEdin metodu vardır.
  79. Bu, bir tamsayı döndürür, böylece
  80. bu metodun sonucunu, tam sayı tür boyutu
    değişkeninde depolayabiliriz.
  81. İşte döndürülen değeri olan
    başka bir metot.
  82. Tuş sınıfında, yükselikEdin
    metodunu çağırabilirsiniz,
  83. bu metot, tam sayı değeri döndürür,
    böylece bir değişkende depolayabilirsiniz.
  84. Örneğin, bu sonucu bir dizide depolamayı
    deneseydiniz,
  85. hata oluştuğunu görecektiniz
    çünkü bu metot tam sayı döndürür.
  86. Ne tür verinin bir metoda geçirilmesi
    gerektiğini bilmek ve
  87. bir metottan ne tür verinin döndürüldüğünü
    bilmek için dokümantasyonu kontrol edin.
  88. Örneğin, MetinGörünümü sınıfında,
  89. bu metotlardan birini çağırırsanız,
    bir tamsayı değeri döndürür.
  90. Döndürülen değer veri türü
    sol taraftaki sütundadır.
  91. Diğer metotlarda, geçersiz'i, henüz
    öğrenmediğimiz booleları, reel sayıları
  92. ve diğerlerini döndürülen
    değer olarak elde edebilirsiniz.
  93. Bu dokümantasyon sayfası,
    her metotta kullanılan girdi için beklenen
  94. veri türünü gösteriyor.
  95. Örneğin, metinRengiGir metodu
    girdi olarak bir tam sayıyı gerektirir,
  96. döndürülen değer geçersiz'dir
    yani döndürülen değer yoktur.
  97. Yani, beklenen veri türünü öğrenmek için
    dokümantasyonu inceleyiniz.
  98. Aksi takdirde, veri türlerinin
    eşleşmediğini söyleyen
  99. hatalar görürsünüz.
  100. Şimdi sıra sizde.
  101. Aşağıda dört farklı kod örneği var.
  102. Bazı kodlar, veri türünün eşleşmemesi
    nedeniyle hata içeriyor olabilir.
  103. bir hata bulursanız,
  104. kutucuklara hataları nasıl
    gidereceğinizi yazınız.
  105. Kod çalışıyorsa,
    sadece Hayır yazın.
  106. Bu, zorlayıcı bir sınav olacak
    çünkü
  107. bir çok kavramdan söz ettik ve
    bu kod sizin için oldukça yeni.
  108. Bu metotlar için dokümantasyonu incelemeye
    vakit ayırın.
  109. Girdilerin ve döndürülen değerlerin doğru
    olduğundan emin olun.
  110. Böylece değişkenler bildirdiğiniz de
    doğru veri türleri elde edebilirsiniz.
  111. Metotları doğru kullandığınızdan
  112. emin olmak için de dokümantasyona
    göz atınız.