2016-04-28 17 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.getText().toString()); 

//を使用して、次のコード

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

を交換エディットテキストからデータを交換し、合格

+0

を反対しないでいただき、ありがとうございます。悪い間違いがあります。私はそれを知っていましたが、何らかの理由でそれを見ることができませんでした。これでエラーは修正されましたが、Firebaseのデータ構造を私が探しているわけではありませんので、さらに実験する必要があります。ご協力いただきありがとうございます。 –

+0

ようこそ - Rune 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);