2016-04-28 84 views
0

令人困惑的标题,我知道,但不是很舒服如何解释。 这里会尽我所能。Firebase Android试图推动孩子,然后一个孩子以下

我试图完成的是,当用户点击一个按钮时,来自一个字段的文本被推送到firebase,然后下一个字段的文本被推到下面。

事情是这样的:

- “UID” - “Scripttitle” - “在scriptUrl”

这里,我想用这样做代码:

final EditText title = (EditText) rlLayout.findViewById(R.id.inputScriptTitle); 
     final EditText scripturl = (EditText) rlLayout.findViewById(R.id.inputScriptURL); 
     final Button button = (Button) rlLayout.findViewById(R.id.submitScriptButton); 
     button.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       new Firebase("https://theatre-assistant.firebaseio.com/scripts") 
         .push() 
         .child("scripttitle") 
         .setValue(title.getText().toString()); 

        new Firebase("https://theatre-assistant.firebaseio.com/scripts") 
          .push() 
          .child(title.getText().toString()) 
          .setValue(scripturl); 

我很确定我只是在做一些非常基本的错误,但由于我是编程新手,我无法真正了解可能的原因。

该错误的logcat是:

--------- beginning of crash 
04-28 12:26:15.860 4979-4979/com.langaard.theatreassistant E/AndroidRuntime: FATAL EXCEPTION: main 
                      Process: com.langaard.theatreassistant, PID: 4979 
                      Theme: themes:{default=overlay:system, iconPack:system, fontPkg:system, com.android.systemui=overlay:system, com.android.systemui.navbar=overlay:system} 
                      com.firebase.client.FirebaseException: Failed to parse to snapshot 
                       at com.firebase.client.Firebase.setValueInternal(Firebase.java:357) 
                       at com.firebase.client.Firebase.setValue(Firebase.java:248) 
                       at com.langaard.theatreassistant.ManageScriptsFragment$1.onClick(ManageScriptsFragment.java:57) 
                       at android.view.View.performClick(View.java:5204) 
                       at android.view.View$PerformClick.run(View.java:21158) 
                       at android.os.Handler.handleCallback(Handler.java:739) 
                       at android.os.Handler.dispatchMessage(Handler.java:95) 
                       at android.os.Looper.loop(Looper.java:148) 
                       at android.app.ActivityThread.main(ActivityThread.java:5461) 
                       at java.lang.reflect.Method.invoke(Native Method) 
                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
                       Caused by: java.lang.IllegalArgumentException: Conflicting getter definitions for property "importantForAccessibility": android.view.View#isImportantForAccessibility(0 params) vs android.view.View#getImportantForAccessibility(0 params) 
                       at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:2615) 
                       at com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:2542) 
                       at com.firebase.client.Firebase.setValueInternal(Firebase.java:346) 
                       at com.firebase.client.Firebase.setValue(Firebase.java:248)  
                       at com.langaard.theatreassistant.ManageScriptsFragment$1.onClick(ManageScriptsFragment.java:57)  
                       at android.view.View.performClick(View.java:5204)  
                       at android.view.View$PerformClick.run(View.java:21158)  
                       at android.os.Handler.handleCallback(Handler.java:739)  
                       at android.os.Handler.dispatchMessage(Handler.java:95)  
                       at android.os.Looper.loop(Looper.java:148)  
                       at android.app.ActivityThread.main(ActivityThread.java:5461)  
                       at java.lang.reflect.Method.invoke(Native Method)  
                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
                       Caused by: com.fasterxml.jackson.databind.JsonMappingException: Conflicting getter definitions for property "importantForAccessibility": android.view.View#isImportantForAccessibility(0 params) vs android.view.View#getImportantForAccessibility(0 params) 
                       at com.fasterxml.jackson.databind.SerializerProvider._createAndCacheUntypedSerializer(SerializerProvider.java:838) 
                       at com.fasterxml.jackson.databind.SerializerProvider.findValueSerializer(SerializerProvider.java:387) 
                       at com.fasterxml.jackson.databind.SerializerProvider.findTypedValueSerializer(SerializerProvider.java:478) 
                       at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:97) 
                       at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:2593) 
                       at com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:2542)  
                       at com.firebase.client.Firebase.setValueInternal(Firebase.java:346)  
                       at com.firebase.client.Firebase.setValue(Firebase.java:248)  
                       at com.langaard.theatreassistant.ManageScriptsFragment$1.onClick(ManageScriptsFragment.java:57)  
                       at android.view.View.performClick(View.java:5204)  
                       at android.view.View$PerformClick.run(View.java:21158)  
                       at android.os.Handler.handleCallback(Handler.java:739)  
                       at android.os.Handler.dispatchMessage(Handler.java:95)  
                       at android.os.Looper.loop(Looper.java:148)  
                       at android.app.ActivityThread.main(ActivityThread.java:5461)  
                       at java.lang.reflect.Method.invoke(Native Method)  
                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
                       Caused by: java.lang.IllegalArgumentException: Conflicting getter definitions for property "importantForAccessibility": android.view.View#isImportantForAccessibility(0 params) vs android.view.View#getImportantForAccessibility(0 params) 
                       at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.getGetter(POJOPropertyBuilder.java:190) 
                       at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.getAccessor(POJOPropertyBuilder.java:283) 
                       at com.fasterxml.jackson.databind.ser.BeanSerializerFactory.removeIgnorableTypes(BeanSerializerFactory.java:678) 
                       at com.fasterxml.jackson.databind.ser.BeanSerializerFactory.findBeanProperties(BeanSerializerFactory.java:557) 
                       at com.fasterxml.jackson.databind.ser.BeanSerializerFactory.constructBeanSerializer(BeanSerializerFactory.java:373) 
                       at com.fasterxml.jackson.databind.ser.BeanSerializerFactory.findBeanSerializer(BeanSerializerFactory.java:268) 
                       at com.fasterxml.jackson.databind.ser.BeanSerializerFactory._createSerializer2(BeanSerializerFactory.java:213) 
                       at com.fasterxml.jackson.databind.ser.BeanSerializerFactory.createSerializer(BeanSerializerFactory.java:152) 
                       at com.fasterxml.jackson.databind.SerializerProvider._createUntypedSerializer(SerializerProvider.java:873) 
                       at com.fasterxml.jackson.databind.SerializerProvider._createAndCacheUntypedSerializer(SerializerProvider.java:833) 
                       at com.fasterxml.jackson.databind.SerializerProvider.findValueSerializer(SerializerProvider.java:387)  
                       at com.fasterxml.jackson.databind.SerializerProvider.findTypedValueSerializer(SerializerProvider.java:478)  
                       at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:97)  
                       at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:2593)  
                       at com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:2542)  
                       at com.firebase.client.Firebase.setValueInternal(Firebase.java:346)  
                       at com.firebase.client.Firebase.setValue(Firebase.java:248)  
                       at com.langaard.theatreassistant.ManageScriptsFragment$1.onClick(ManageScriptsFragment.java:57)  
                       at android.view.View.performClick(View.java:5204)  
                       at android.view.View$PerformClick.run(View.java:21158)  
                       at android.os.Handler.handleCallback(Handler.java:739)  
                       at android.os.Handler.dispatchMessage(Handler.java:95)  
                       at android.os.Looper.loop(Looper.java:148)  
                       at android.app.ActivityThread.main(ActivityThread.java:5461)  
                       at java.lang.reflect.Method.invoke(Native Method)  
                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  

回答

1

替换您如下代码

new Firebase("https://theatre-assistant.firebaseio.com/scripts") 
          .push() 
          .child(title.getText().toString()) 
          .setValue(scripturl); 

new Firebase("https://theatre-assistant.firebaseio.com/scripts") 
          .push() 
          .child(title.getText().toString()) 
          .setValue(scripturl.getText().toString()); 

//因为你直接传递对象值法取代并传递来自编辑的文本数据并不反对

+0

谢谢。那里错误的错误。我知道这一点,但由于某种原因无法看到它。修正了这个错误,但是我没有给出我所需要的Firebase数据结构,因此必须进一步做实验。谢谢你的帮助。 –

+0

欢迎 - 符文Langaard –

2

你不能设置视图给setValue。 scripturl是一个EditText。

new Firebase("https://theatre-assistant.firebaseio.com/scripts") 
         .push() 
         .child(title.getText().toString()) 
         .setValue(scripturl); 

如果您使用那样的话您没有看到任何错误。

new Firebase("https://theatre-assistant.firebaseio.com/scripts") 
      .child(title.getText().toString()) 
      .push() 
      .setValue(scripturl.getText().toString); 
相关问题