2015-06-08 27 views
5

पर क्रैश का कारण बनता है मैं नई डेटा बाइंडिंग लाइब्रेरी के साथ खेल रहा था और अवलोकन इंटरफ़ेस को लागू करने का प्रयास किया था। लेकिन अगर मैं आयु परिवर्तक को टेक्स्टव्यू में सेट करता हूं या नहीं, तो यह क्रैश हो रहा है। यदि कोड आयु परिवर्तक को स्ट्रिंग में परिवर्तित करता है तो कोड ठीक काम करता है। क्या यह int के साथ काम करने का कोई तरीका है?अवलोकन योग्य डेटाबैंडिंग लाइब्रेरी

public class User extends BaseObservable { 

@Bindable 
public final ObservableField<String> name = 
     new ObservableField<>(); 
@Bindable 
public final ObservableInt age = new ObservableInt();} 

क्रैश लॉग:

android.content.res.Resources$NotFoundException: String resource ID #0x3 
     at android.content.res.Resources.getText(Resources.java:274) 
     at android.widget.TextView.setText(TextView.java:4122) 
     at com.hipo.databinding.databinding.ActivityMainBinding.executeBindings(ActivityMainBinding.java:184) 
     at android.databinding.ViewDataBinding.executePendingBindings(ViewDataBinding.java:321) 
     at android.databinding.ViewDataBinding$6.run(ViewDataBinding.java:160) 
     at android.databinding.ViewDataBinding$5.onViewAttachedToWindow(ViewDataBinding.java:130) 
     at android.view.View.dispatchAttachedToWindow(View.java:13417) 
     at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2707) 
     at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714) 
     at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714) 
     at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714) 
     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1292) 
     at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054) 
     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5779) 
     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) 
     at android.view.Choreographer.doCallbacks(Choreographer.java:580) 
     at android.view.Choreographer.doFrame(Choreographer.java:550) 
     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) 
     at android.os.Handler.handleCallback(Handler.java:739) 
     at android.os.Handler.dispatchMessage(Handler.java:95) 
     at android.os.Looper.loop(Looper.java:135) 
     at android.app.ActivityThread.main(ActivityThread.java:5221) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)public class User extends BaseObservable { 

@Bindable 
public final ObservableField<String> name = 
     new ObservableField<>(); 
@Bindable 
public final ObservableInt age = new ObservableInt(); 

}

उत्तर

6

डेटा टैग में इस रखो

आप का उपयोग की जरूरत है @ {String.valueOf (user.age)} TextView में।

या @ {"" + user.age}

+3

धन्यवाद। मैं आपका जवाब स्वीकार करूंगा लेकिन @ {Integer.valueOf (user.age)} ınteger लौटाता है, इसलिए यह फिर से दुर्घटनाग्रस्त हो जाता है .. मैं आपका उत्तर एंड्रॉइड संपादित करूंगा: text = "@ {String.valueOf (user.age)}" – barisemreefe

+3

I पुष्टि कर सकते हैं कि 'String.valueOf() 'काम करता है। मैंने बाध्यकारी काम करने की कोशिश करने में बहुत लंबा समय बिताया। –

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