2016-06-06 8 views
7

मैंने अभी मक्खन का उपयोग शुरू किया।
परियोजना में, तितली का उपयोग कर सहयोगी, संस्करण 7.0.0 है।मक्खन में '@ बाइंड' और '@ बाइंडव्यू' के बीच क्या अंतर है?

मैंने उसे @Bind(R.id.tv_name) लिखते देखा।
लेकिन मुझे लगता है कि तितली आधिकारिक वेबसाइट तितली संस्करण 8.0.1 है, सिंटैक्स @BindView(R.id.tv_name)

वाक्यविन्यास बदल गया है? या दोनों का इस्तेमाल किया जा सकता है? या कुछ और ?
उनके बीच क्या अंतर है?

मुझे इंटरनेट पर उत्तर नहीं मिला
मुझे उम्मीद है कि हर किसी की मदद, thx!

उत्तर

14

यूप, संस्करण 8.0 में वाक्यविन्यास बदल गया।

आप परिवर्तनों को देखने के लिए यहां चेंजलॉग देख सकते हैं: https://github.com/JakeWharton/butterknife/blob/master/CHANGELOG.md#version-800-2016-04-25। लेकिन 7.x से 8.x के लिए बदलाव का है:

  • @Bind@BindView और @BindViews (एक दृश्य और ऐसे कई दृश्य, क्रमशः) हो जाता है।
  • bind पर कॉल करें अब Unbinder उदाहरण लौटाएं जिसका उपयोग null संदर्भों के लिए किया जा सकता है। यह unbind एपीआई को प्रतिस्थापित करता है और श्रोताओं को साफ़ करने में सक्षम होने के लिए समर्थन जोड़ता है।
  • नया: @BindArrayString, CharSequence, और int सरणी और TypeArray फ़ील्ड में बांधता है।
  • नया: @BindBitmapBitmap संसाधनों से फ़ील्ड के उदाहरणों को बांधता है।
  • @BindDrawable अब tint फ़ील्ड का समर्थन करता है जो थीम विशेषता स्वीकार करता है।
  • रनटाइम और कंपाइलर अब दो कलाकृतियों में विभाजित हैं।
    compile 'com.jakewharton:butterknife:8.0.0'
    apt 'com.jakewharton:butterknife-compiler:8.0.0'

  • नई: apply भार के जो विचारों को एक बार देखने और सरणियों स्वीकार करते हैं।

  • प्रोगार्ड नियम अब पुस्तकालय के अंदर जहाज भेजते हैं और स्वचालित रूप से शामिल होते हैं।
  • @Optional एनोटेशन वैकल्पिक रूप से विधियों को चिह्नित करने के लिए वापस आ गया है।
+0

आपके प्रयासों के लिए धन्यवाद! :) – iRuoBin

2

हाँ, उन कीवर्ड के बीच फर्क सिर्फ इतना है कि @Bind v8.0.0 में @BindView को नाम दिया गया था है।

कृपया ध्यान दें कि ButterKnife.unbind() हटा दिया गया था, और Unbinder के साथ प्रतिस्थापित किया गया है जो bind() द्वारा वापस किया गया है ताकि कोई बाहरी दृश्य संदर्भ बनाए रखा न जाए।

संबंधित मुद्दे