2015-12-24 5 views
5

मुझे डेटाबेसिंग में समस्या है। प्रलेखन में, यह कहा गया है कि हम कस्टम लेआउट होस्ट करने और बाध्यकारी चर को पार करने के लिए टैग शामिल कर सकते हैं। जब मैं 4.1.2 फोन और एमुलेटर पर कोशिश करता हूं, तो डेटा बाध्य नहीं लगता है लेकिन केवल मुख्य लेआउट फ़ील्ड को बांधता है।एंड्रॉइड: बाध्यकारी चर और टैग लेआउट काम शामिल करने के लिए गुजर रहा है?

यह मुख्य लेआउट की मेरी कोड है:

<layout> 
<data> 
    <variable 
     name="Job" 
     type="nz.co.certifi.CERTIFI.Model.JobModel" /> 
    <variable 
     name="Form" 
     type="nz.co.certifi.CERTIFI.Model.FormROIModel" /> 
</data> 

:

<layout> 

<data> 
    <variable 
     name="Job" 
     type="nz.co.certifi.CERTIFI.Model.JobModel" /> 
</data> 

<ScrollView 
    android:background="@color/TransparentColor" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/scrollView" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="false" 
    android:layout_alignParentEnd="false" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentRight="true"> 


    <RelativeLayout 
     android:background="@color/TransparentColor" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <include 
      app:Job="@{Job}" 
      android:id="@+id/layoutCertification" 
      layout="@layout/view_certification_control" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true"/> 

यह layoutCertification है

उत्तर

10

हां यह करता है। http://developer.android.com/tools/data-binding/guide.html#includes

मुख्य लेआउट

<data> 

    <variable 
     name="plu" 
     type="org.test.test.viewmodels.PluDetailViewModel" /> 
</data> 
. 
. 
. 
    <include 
      layout="@layout/keypad_pludetail" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentStart="true" 
      bind:plu="@{plu}" 
         /> 

शामिल लेआउट

<data> 

    <variable 
     name="plu" 
     type="org.test.test.viewmodels.PluDetailViewModel" /> 
</data> 
. 
. 
. 
<Button 
       android:id="@+id/keypad_accept" 
       style="@style/KeyPadButton" 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="1" 
       android:text="@string/keypad_accept" 
       android:enabled="@{plu.isOK}" 
       android:onClick="@{plu.confirm}" 
       /> 

टुकड़ा में

binding = DataBindingUtil.inflate(inflater, R.layout.fragment_plu_details, container, false); 
    binding.setPlu(pluDetailViewModel); 
    binding.executePendingBindings(); 
+0

निष्पादन क्या है PendingBindings करता है .. – LittleFunny

+0

लंबित बाइंडिंग का मूल्यांकन करता है, संशोधित चर के लिए अभिव्यक्ति वाले किसी भी दृश्य को अद्यतन करता है। Http://developer.android.com/reference/android/databinding/ViewDataBinding.html – backman

+0

धन्यवाद मैं कोशिश करूंगा बाहर ... जब मैंने इसे 4.4.2 और उससे ऊपर इस्तेमाल किया, तो मुझे उस कथन की आवश्यकता नहीं है और दृश्य को डेटा मिला। – LittleFunny

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